MySQL组按月不工作

时间:2016-08-27 04:44:22

标签: mysql

我认为我做了一些愚蠢的事情,因为这个查询没有给我想要的输出:

我的表是这样的:

id integer, 
current_date date

表中的条目是:

1, 2016-08-24
2, 2016-08-25
3, 2016-08-26
4, 2016-07-21
5, 2016-07-22

查询:

select MONTH(current_date),count(*) 
from test 
group by MONTH(current_date)

此查询返回我:

8, 5

我在期待:

7, 2
8, 3

2 个答案:

答案 0 :(得分:3)

current_date是一个MySQL reserved word,它返回今天的日期。要将其用作表格列,您需要将其放入反引号中。

select MONTH(`current_date`), COUNT(*)
from test
GROUP BY MONTH(`current_date`)

DEMO

或者您可以将列重命名为与保留字不冲突的内容。

答案 1 :(得分:-1)

感谢 Krunal ,问题是 current_date 是保留字。