mysql - 按年和月分组数据
问题描述
我有一个有 4 列的表:
1. customerID
2. dateAdded
3. productID
4. quantity
的格式dateAdded
是这样的:( 20180730
) YearMonthDay
。
我想按年和月对表中的行进行分组。
我尝试了下面的代码,但它不起作用。我仍然看到重复相同年份和月份的行,但日期不同。
SELECT dateAdded
, SUM(quantity)
FROM testTable
GROUP
BY DATE_FORMAT(dateAdded, '%Y%m')
, dateAdded
ORDER
BY dateAdded DESC
知道如何解决这个问题吗?
谢谢
解决方案
不要按您不希望对数据进行分组的内容进行分组。由于您提供dateAdded
作为要分组的参数,因此它将数据拆分,dateAdded
并且您从年月分组中一无所获。从您用于分组的 select/groupby 中删除列,如下所示:
SELECT DATE_FORMAT(dateAdded, '%Y%m')
, SUM(quantity)
FROM testTable
GROUP BY
DATE_FORMAT(dateAdded, '%Y%m')
推荐阅读
- splunk - Splunk 选择最新条目并按 Id 分组
- graphql - 升级到 graphql-js 15.0.0 会中断工作配置并显示消息:字段“[...]”已存在于模式中
- javascript - 如何使用css根据文本值更改文本颜色?
- javascript - 错误 1109:For 循环中需要表达式
- python - 将混合类型的数据框写入 Python Pandas 文件
- javascript - 如何找到谷歌地图折线交叉点?
- jenkins - 如何根据上游作业状态码跳过下游 jenkins 作业
- amazon-ec2 - 如何在 Amazon EC2 容器中提供 Prometheus 配置
- c++ - 无法将参数 1 从 WCHAR 转换为 const char *
- r - R公式表示法中的`:`和`%in%`有什么区别?