sql group_by count

时间:2018-09-03 02:14:20

标签: mysql sql select group-by

我有一个这样的数据库:enter image description here

我想像这样的结果按月计算ID:

id    creat_time

6     2018-8

我尝试了以下查询:

"SELECT EXTRACT(YEAR_MONTH from creat_time),COUNT(id) FROM b_project WHERE creat_time GROUP_BY EXTRACT(YEAR_MONTH from creat_time)"

但是我遇到了以下错误:

  

1064-您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本以使用正确的语法   第1行的“ GROUP_BY EXTRACT(从creat_time开始,YEAR_MONTH)附近”附近

如何解决?

2 个答案:

答案 0 :(得分:0)

MySQL试图指出我们的错误。但是它只能告诉我们哪条线有问题。由于SELECT全都在一行上,因此我们没有太多信息。请按以下所示重新格式化“选择”,将每个项目放在单独的行上。

此外,GROUP_BY可能是两个单独的单词,没有任何连字符,因此请尝试这样做。

SELECT 
       Extract(YEAR_MONTH FROM create_time),
       Count(id)

FROM   b_project

GROUP  BY 
       Extract(YEAR_MONTH FROM create_time) 

答案 1 :(得分:0)

这是您现有的查询:

or

where子句不完整,将导致错误。您需要执行一些操作以将该列与某些内容进行比较:例如

SELECT EXTRACT(YEAR_MONTH from creat_time),COUNT(id) 
FROM b_project 
WHERE creat_time > '2018-09-01'
GROUP_BY EXTRACT(YEAR_MONTH from creat_time)

,根据您问题中的图片,列名称为create_time,因此也需要更正,例如

SELECT EXTRACT(YEAR_MONTH from creat_time),COUNT(id) 
FROM b_project 
WHERE creat_time 
GROUP_BY EXTRACT(YEAR_MONTH from creat_time)