我试图从数据库中选择日期,然后将其分组为月和年,例如:
May 2019
June 2018
etc.
D B
-日期是日期类型
我有以下代码:
SELECT datum, count(*) FROM zapasy GROUP BY datum
每天都这样,但是我不希望这样,所以我搜索了如何将其分组为几个月和几年,而不仅仅是几天
SELECT datum, count(*) FROM zapasy GROUP BY MONTH(datum), YEAR(datum)
我想出了这个,但是,我得到了这个愚蠢的错误
#1055-SELECT列表的表达式#1不在GROUP BY子句中,并且包含未聚合的列'zapasy_db_test.zapasy.datum',该列在功能上不依赖于GROUP BY子句中的列;这与sql_mode = only_full_group_by不兼容
而且我不知道代码有什么问题
请给我一些建议。
谢谢
最佳答案
我注意到您所需的输出是May 2019 etc.
格式。您知道DATE
数据类型就是yyyy-mm-dd
,因此,如果您确实要提取该格式的月份-年份,则可以尝试以下操作:
SELECT DATE_FORMAT(datum, '%b %Y') AS 'Monthyear', COUNT(*)
FROM zapasy
GROUP BY Monthyear;
关于mysql - 选择日期,然后将其分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56252554/