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

  • 本文关键字:用户 sql mariadb
  • 更新时间 :
  • 英文 :


数据库表中有许多产品。我想创建显示第 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);

最新更新