数据库表中有许多产品。我想创建显示第 10 和第 25 次的报告。等该产品的订单并记录谁购买了它。
目前我有
select
CONCAT(sales.lastName,' / ', sales.firstName) as salesNames,
sales.created_at as Sale_Date
FROM Sales
JOIN users ON sales.user_id = users.id
WHERE sales.status = 1
AND sales.created_at < CURDATE()
如果有人能带领我朝着正确的方向前进,我将不胜感激。
基本上我的最终结果是这样的
sale_day. salesNames
10. John/Joe
10 Smith/Ralley
10 Gruni/Mark
25. Tony Rick
25 Brunel Brada
25 Mary Lofe
在 MariaDB 10.2 中,您可以使用row_number()
. 你的解释不清楚 - 为什么users
表被连接起来? 产品是什么?
但我认为您正在寻找类似的东西:
select concat(u.lastName, ' / ', u.firstName) as salesNames,
s.created_at as Sale_Date
from (select s.*,
row_number() over (partition by s.product_id order by s.created_at) as seqnum
from sales s
where s.status = 1 and
s.created_at < CURDATE()
) s join
users u
on s.user_id = u.id
where seqnum in (10, 25);