Php 为什么MySQL在执行查询以获取每月的计数时返回错误?
我试图获得每月添加的记录数,我做了一个查询,返回以下错误 '1140-在没有分组依据的聚合查询中,选择列表的表达式2包含未聚合的列 'db_records.ws_newsfeed.date_added';这是不符合的 sql\u模式=仅\u完整\u组\u由 下面是一个问题Php 为什么MySQL在执行查询以获取每月的计数时返回错误?,php,mysql,Php,Mysql,我试图获得每月添加的记录数,我做了一个查询,返回以下错误 '1140-在没有分组依据的聚合查询中,选择列表的表达式2包含未聚合的列 'db_records.ws_newsfeed.date_added';这是不符合的 sql\u模式=仅\u完整\u组\u由 下面是一个问题 SELECT COUNT(*) AS count_by_month, MONTH(`date_added`) AS month_number, MONTHNAME(`date_added`) AS month_name FR
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
我已经搜索了它,也找到了一些相关的线程,但仍然无法解决这个问题。谁能告诉我,我要解决的问题在哪里。如果有人指导我,我将不胜感激。谢谢请尝试以下代码:
SELECT COUNT(*) AS count_by_month FROM `ws_newsfeed` WHERE MONTH(`date_added`) = 1;
从ws_newsfeed中选择MONTHdate_added AS month_number,MONTHNAMEdate_added AS month_name,其中MONTHdate_added=1 试试这个:
请注意,此查询不显示年份,只显示月份
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
按月份分组\u编号:
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
经验法则是,如果不聚合列,则需要按它进行分组。它不返回计数为什么使用MONTHdate_added=1?你只需要计算一月月份数吗?@OtoShavadze不,实际上这个查询是针对所有月份的,所以这个数字可以是1到12