数据库表中有很多产品。我想创建一个报告,显示该产品的第10位和第25位..etc等订单,并记录购买者。
当前我有
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
答案 0 :(得分:0)
在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);