1
我试图从上周访问得到一个计数。Mysql查询得到上周的计数
到现在为止,我有这方面的工作:
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行一周!
我不认为这是有可能得到一排,如果count是0,或者至少不会带有太复杂的查询(如果可能的话)。计数是选择的结果,如果没有特定日期的记录,则根本没有记录来显示计数 – 2013-04-10 16:54:36
您需要使用'order by'和'limit'子句 – TNK 2013-04-10 16:55:06
@TNK,谢谢!现在正在工作。只需要弄清楚如何显示整个星期的所有7行... – 2013-04-10 16:59:45