Mysql查询得到上周的计数

时间:2013-04-10 16:50:38

标签: mysql count group-by

我正试图从上周的访问中得到一个计数。

到目前为止,我有这个工作:

SELECT FROM_UNIXTIME(login),COUNT(*)
FROM users
WHERE FROM_UNIXTIME(login) >= (CURDATE() - INTERVAL DAYOFWEEK(CURDATE())+6 DAY)
GROUP BY DAYOFWEEK(FROM_UNIXTIME(login));

结果:

+----------------------+----------+
| FROM_UNIXTIME(login) | COUNT(*) |
+----------------------+----------+
| 2013-04-08 12:49:04  |        1 |
| 2013-04-10 17:29:21  |        2 |
| 2013-04-05 21:27:00  |        1 |
+----------------------+----------+

问题:

-Table未按日期排序;

- 我想显示所有7行,即使count value ='0'。

我该如何解决这个问题?提前谢谢!

[UPDATE]

按日期排序解决:

ORDER BY FROM_UNIXTIME(login);

只需要显示所有7行的一周!

1 个答案:

答案 0 :(得分:0)

您可以使用此答案中的查询生成日期列表,然后将其加入您的查询:

generate days from date range