我试图从数据库中选择日期,然后将其分组为月和年,例如:

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/

10-13 05:25