我试图在 30 天的时间范围内获得订单总量和唯一客户数量。
我有这张桌子:
order_id、order_date、order_country、customer_id。
(1, '2021/03/04', 'SWE', 1),
(2, '2021/03/01', 'SWE', 1),
(3, '2021/03/01', 'DK', 3),
(4, '2021/03/01', 'DK', 3),
(5, '2021/03/03', 'NOR', 2),
(6, '2021/02/27', 'DK', 3),
(7, '2020/12/30', 'Ger', 4);
我尝试过这样的事情:
SELECT order_date
, COUNT(order_id) as orderAmount
, COUNT(distinct customer_id) as customerAmount
FROM orders
WHERE order_date BETWEEN NOW() - INTERVAL 30 DAY AND NOW()
GROUP
BY order_date
这得到了我想要的每个日期的订单总量。但它只计算每个日期的唯一客户,而不是每个月,因此同一个客户会多次出现。我已经尝试过这个 sql 脚本的小变种,但不能完全让它工作。