Mysql查询以获取上周的计数

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

问题:

-表格未按日期排序;

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

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

[更新]

按解决日期排序:

ORDER BY FROM_UNIXTIME(login);

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

最佳答案

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

generate days from date range

关于Mysql查询以获取上周的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15931853/

相关文章:

mysql - 一些字符串比较不是逐个字符的吗?

mysql - 表上的过程 UNION

hibernate - Spring JPA Criteria Query group by with to_char 函数

sql - 如何在 T-SQL 中使用 group by 和 union

MySQL查询订单三差分字段

php - 我需要通过使用引用帖子中的表用户的外键来了解帖子的所有者

计算 C 中整数的个数

javascript - 使用 JQuery 保存每个变量的计数

python - 形成一个字典,键来自列表,值是 Python 中另一个列表中项目的出现

mysql - 数据库 SQL 查询按第一列对结果进行分组