【发布时间】:2013-04-02 15:34:18
【问题描述】:
我正在尝试统计上周的访问次数。
到目前为止,我有这个工作:
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 行,即使 count value='0'。
我该如何解决这个问题?提前致谢!
[更新]
按日期排序:
ORDER BY FROM_UNIXTIME(login);
只需要显示一周的所有 7 行!
【问题讨论】:
-
我认为如果 count 为 0 就不可能得到一行,或者至少不会有很复杂的查询(如果可能的话)。计数是选择的结果,如果没有特定日期的记录,则根本没有记录可显示计数
-
你需要使用
order by和limit子句 -
@TNK,谢谢! order by 现在正在工作。只需要弄清楚如何显示整周的所有 7 行...