作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个数据库,其中包含一些图像信息的表,每行包含一个 createdAt
日期和一个 viewCount
。数据范围为2014年9月至今(2016年7月)。我想要获取当月所有图像的浏览量总和
当我运行查询时
SELECT YEAR(createdAt), MONTH(createdAt), SUM(viewCount)
FROM Images
GROUP BY MONTH(createdAt);
我仅返回 2014 年 9 月至 2015 年 8 月期间结果的 12 行
Year | Month | Views
-------------------
2014 | 9 | 1452
2014 | 10 | 279
2014 | 11 | 34428
2014 | 12 | 4763
2015 | 1 | 2826
2015 | 2 | 777
2015 | 3 | 568
2015 | 4 | 1309
2015 | 5 | 46744
2015 | 6 | 1541
2015 | 7 | 8160
2015 | 8 | 91
如果我添加日期限制,它将为我提供最新数据,但同样只有 12 行
SELECT YEAR(createdAt), MONTH(createdAt), SUM(viewCount)
FROM Images WHERE createdAt > DATE('2015-08-01 00:00:00')
GROUP BY MONTH(createdAt);
Year | Month | Views
--------------------
2015 | 8 | 981
2015 | 9 | 1031
2015 | 10 | 2566
2015 | 11 | 3325
2015 | 12 | 411
2016 | 1 | 2140
2016 | 2 | 710
2016 | 3 | 714
2016 | 4 | 1985
2016 | 5 | 426
2016 | 6 | 119
2016 | 7 | 81
我确实意识到,由于现在是 7 月,第二个查询就在那里停止,因为那是数据结束的地方,但为什么第一个查询没有返回所有结果?
最佳答案
按年/月分组:
SELECT YEAR(createdAt), MONTH(createdAt), SUM(viewCount)
FROM Images
--WHERE createdAt > DATE('2015-08-01 00:00:00')
GROUP BY YEAR(createdAt), MONTH(createdAt);
相关Group by clause in mySQL and postgreSQL, why the error in postgreSQL?
请记住,从 MySQL 5.7.6+ 开始,由于默认设置的 only_full_group_by
,您的初始查询甚至可能无法工作。
关于MySQL `SUM` 和 `GROUP BY` 结果中缺少数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38334856/
我是一名优秀的程序员,十分优秀!