【发布时间】:2020-11-06 16:20:55
【问题描述】:
我试图获取与第一个订单相比,我在精确的一天获得了多少用户 例如:
"2020-02" = 20, "2020-03" = 20 ... etc...
我做了一个这样的 sql 查询:
SELECT o.order_id, u.id as userId, DATE_FORMAT(FROM_UNIXTIME(o.order_created),'%Y-%m'), COUNT(u.id) as userCount
FROM users u
LEFT JOIN order_product o ON o.order_user_id = u.id
GROUP BY u.id;
但是对于这个查询,我有类似这样的例子:
"2020-02" = 2, "2020-02" = 9, "2020-03" = 5, "2020-03" = 7
所以我尝试 group by u.id 和 DATE_FORMAT(FROM_UNIXTIME(o.order_created),'%Y-%m') 喜欢这个例子:
SELECT o.order_id, u.id as userId, DATE_FORMAT(FROM_UNIXTIME(o.order_created),'%Y-%m'), COUNT(u.id) as userCount
FROM users u
LEFT JOIN order_product o ON o.order_user_id = u.id
GROUP BY u.id, DATE_FORMAT(FROM_UNIXTIME(o.order_created),'%Y-%m');
但它仍然不起作用,在第 2 种情况下,'userCount' 的结果不好。
所以我的问题是,我怎样才能在特定月份将多个用户分组?
【问题讨论】: