获得用户的第50次和第100次销售

时间:2018-09-05 20:09:59

标签: sql mariadb

数据库表中有很多产品。我想创建一个报告,显示该产品的第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

1 个答案:

答案 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);