Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么MySQL在执行查询以获取每月的计数时返回错误?_Php_Mysql - Fatal编程技术网

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

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

我试图获得每月添加的记录数,我做了一个查询,返回以下错误

'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 
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