首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么MySQL在执行查询以获得每月计数时返回错误?

为什么MySQL在执行查询以获得每月计数时返回错误?
EN

Stack Overflow用户
提问于 2017-03-20 07:02:00
回答 3查看 44关注 0票数 0

我正在尝试获取每月添加的记录的计数,我进行了一个查询,该查询返回以下错误

'#1140 -在没有分组的聚合查询中,SELECT列表的表达式#2包含非聚合列‘db_记录表. is _newsfeed.date. with _added’;这与sql_mode=only_full_group_by不兼容

下面是查询

代码语言:javascript
复制
SELECT COUNT(*) AS count_by_month, MONTH(`date_added`) AS month_number,
MONTHNAME(`date_added`) AS month_name 
FROM `ws_newsfeed` 
WHERE MONTH(`date_added`) = 1 
LIMIT 0, 25

我已经搜索了它,也找到了一些相关的线程,但仍然无法解决这个问题。有人能指点我我解决的问题在哪里吗?如果有人指点我,我会很感激的。谢谢

EN

回答 3

Stack Overflow用户

发布于 2017-03-20 07:08:31

尝试以下代码:

代码语言:javascript
复制
SELECT COUNT(*) AS count_by_month FROM `ws_newsfeed` WHERE MONTH(`date_added`) = 1;

选择月份(date_added)作为month_number,MONTHNAME(date_added)作为month_name从ws_newsfeed来选择月份(date_added)= 1;

票数 0
EN

Stack Overflow用户

发布于 2017-03-20 07:41:16

试试这个:

(请注意,此查询不显示年份,只显示月份)。

代码语言:javascript
复制
SELECT COUNT(*) AS count_by_month, MONTH(`date_added`) AS month_number, MONTHNAME(`date_added`) as MONTH_NAME FROM `ws_newsfeed` 
GROUP BY date_added
LIMIT 0, 25
票数 0
EN

Stack Overflow用户

发布于 2017-03-20 14:08:04

Month_number组:

代码语言:javascript
复制
SELECT COUNT(*) AS count_by_month, MONTH(`date_added`) AS month_number, MONTHNAME(`date_added`) AS month_name FROM `ws_newsfeed` WHERE MONTH(`date_added`) = 1 GROUP BY month_number

经验法则是,如果不聚合列,则需要按列进行分组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42897555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档