1

我试图从上周的访问中获得计数。

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

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 |
+----------------------+----------+

问题:

- 表格未按日期排序;

-我想显示所有 7 行,即使计数值='0'。

我怎样才能解决这个问题?提前致谢!

[更新]

按日期排序解决了:

ORDER BY FROM_UNIXTIME(login);

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

4

1 回答 1

0

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

从日期范围生成天数

于 2013-04-10T17:00:30.963 回答