但该语句运行后出现了报错: of SELECT list is not in GROUP BY clause and contains nonaggregated column '数据库查询-2023年6月5日.2023年6月12日.拒绝原因' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by > 时间: 0s
时间: 2023-10-13 12:34:08 浏览: 64
这个错误是由于 MySQL 5.7.5 及以上版本默认启用了 "ONLY_FULL_GROUP_BY" 模式,要求在 GROUP BY 子句中列出的列必须是聚合函数或者 GROUP BY 子句中列出的列,否则就会出现错误。因此,您需要将查询语句修改为:
```
SELECT `主题`,`拒绝原因`,count(*) FROM `2023年6月12日` WHERE `拒绝原因` LIKE '%钓鱼%' OR `拒绝原因` LIKE '%过滤%' OR `拒绝原因` LIKE '%垃圾%' GROUP BY `主题`,`拒绝原因`;
```
在上述查询语句中,我们将 "GROUP BY" 子句中的列名称修改为了 "主题" 和 "拒绝原因",以符合 "ONLY_FULL_GROUP_BY" 模式的要求。
相关问题
mysql使用group by查询报错SELECT list is not in GROUP BY clause and contains nonaggregated column
回答: 当使用GROUP BY语句进行查询时,SELECT语句中只能包含GROUP BY后面声明的列或者聚合函数。这是因为MySQL的ONLY_FULL_GROUP_BY模式要求SELECT语句中的列必须是明确的,以确保分组求最值的合法性检查。这种模式采用了与Oracle、DB2等数据库的处理方式。因此,如果在GROUP BY语句中使用了聚合函数,就需要将SELECT语句中的列限制在GROUP BY后面声明的列或者聚合函数中。如果SELECT语句中出现了不明确的列,就会报错"SELECT list is not in GROUP BY clause and contains nonaggregated column"。\[1\]\[2\]\[3\]
#### 引用[.reference_title]
- *1* [mysql使用group by查询报错SELECT list is not in GROUP BY clause and contains nonaggregated column.](https://blog.csdn.net/weixin_40925480/article/details/127680083)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [mysql使用group by查询报错SELECT list is not in GROUP BY clause and contains nonaggregated column......](https://blog.csdn.net/weixin_37557729/article/details/123896433)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
MySQL报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column whic
ch is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
该错误是因为在MySQL的ONLY_FULL_GROUP_BY模式下,SELECT语句中的列必须要么包含在GROUP BY子句中,要么是聚合函数的参数。但是你的查询中,第一个表达式(#1)不在GROUP BY子句中,并且它也不是其他列的函数依赖项,因此导致了这个错误。
为了解决这个问题,你可以进行以下操作之一:
1. 将非聚合的列添加到GROUP BY子句中,以满足ONLY_FULL_GROUP_BY模式的要求。
2. 将非聚合的列作为聚合函数的参数,例如SUM、COUNT等。
3. 修改MySQL的sql_mode设置,将ONLY_FULL_GROUP_BY模式禁用。但是需要注意,禁用该模式可能会导致一些潜在的问题,所以需要谨慎使用。
你可以根据具体情况选择适合你需求的解决方案。
阅读全文