首页 > 数据库 > mysql教程 > 如何解决 MySQL 错误 #1140:远程 SQL 查询中的'混合组列”?

如何解决 MySQL 错误 #1140:远程 SQL 查询中的'混合组列”?

Barbara Streisand
发布: 2025-01-01 13:53:10
原创
915 人浏览过

How to Resolve MySQL Error #1140:

在远程环境中处理 MySQL 错误 #1140:“混合 GROUP 列”

遇到错误“MySQL #1140 - 混合 GROUP 列 (MIN( ), MAX(), COUNT(),...) 如果没有 GROUP BY 子句,则没有 GROUP 列是非法的,”它表明您的 SQL 查询尝试将分组列(例如 COUNT())与非分组列(例如 nid)混合,而不使用 GROUP BY 子句。

在您的具体情况下,问题出现在以下 SQL 查询:

SELECT COUNT(node.nid),
       node.nid AS nid,
       node_data_field_update_date.field_update_date_value AS node_data_field_update_date_field_update_date_value
FROM node node
LEFT JOIN content_type_update node_data_field_update_date ON node.vid = node_data_field_update_date.vid
WHERE node.type IN ('update')
ORDER BY node_data_field_update_date_field_update_date_value DESC
登录后复制

要解决此问题,您有两个options:

  1. 禁用 ONLY_FULL_GROUP_BY: 此 MySQL 服务器设置要求所有选定的列(聚合函数除外)都包含在 GROUP BY 子句中。您可以通过在 MySQL 配置中将 ONLY_FULL_GROUP_BY 设置为 0 来禁用它。
  2. 添加 GROUP BY 子句: 或者,您可以按选择中使用的列对结果进行显式分组:
SELECT COUNT(node.nid),
       node.nid AS nid,
       node_data_field_update_date.field_update_date_value AS node_data_field_update_date_field_update_date_value
FROM node node
LEFT JOIN content_type_update node_data_field_update_date ON node.vid = node_data_field_update_date.vid
WHERE node.type IN ('update')
GROUP BY nid, node_data_field_update_date_field_update_date_value
ORDER BY node_data_field_update_date_field_update_date_value DESC
登录后复制

通过合并这些解决方案之一,您可以解决“组的混合”问题columns”错误并成功在远程环境中执行SQL查询。

以上是如何解决 MySQL 错误 #1140:远程 SQL 查询中的'混合组列”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板