我有一个有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
你知道怎么解决吗?
谢谢您
3条答案
按热度按时间0ve6wy6x1#
不要按您不希望对数据进行分组的内容进行分组。既然你提供
dateAdded
作为要分组的参数,它按dateAdded
你从年-月分组中一无所获。从select/groupby中删除用于分组的列,如下所示:iugsix8n2#
如果你储存
dateAdded
作为20180730,看起来像是一个字符串,所以它不会与DATE_FORMAT
函数,可以使用SUBSTRING
相反像这样的
hvvq6cgz3#
使用
year
以及month
功能