首頁 >資料庫 >mysql教程 >如何解決 MySQL 錯誤 #1140:「混合群組列」?

如何解決 MySQL 錯誤 #1140:「混合群組列」?

Linda Hamilton
Linda Hamilton原創
2024-12-18 08:03:10862瀏覽

How to Resolve MySQL Error #1140:

MySQL 錯誤#1140:了解「GROUP 欄位的混合」問題

MySQL 錯誤#1140,「GROUP 欄位的混合(如果沒有GROUP 列,則MIN()、MAX()、COUNT()、...)是非法的當您嘗試聚合資料(例如,使用COUNT() 等函數)而不對結果進行分組時,就會出現「GROUP BY 子句」。 ,且缺少GROUP BY 子句時,可能會發生這種情況。查詢舉例說明了此問題:

使用以下命令執行此查詢在服務器上啟用ONLY_FULL_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')
ORDER BY node_data_field_update_date_field_update_date_value DESC

要解決此問題,必須停用ONLY_FULL_GROUP_BY 設定或強制執行SQL中的分組操作
#1140 - Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause`

停用ONLY_FULL_GROUP_BY:

這可以透過更改MySQL 設定檔並設定以下參數來實現:

  • 強制分組:新增群組查詢的 BY子句將解決該問題。如下所示:
only_full_group_by = 0
透過應用這些解決方案中的任何一個,您可以繞過「混合群組列」錯誤並成功檢索聚合資料。

以上是如何解決 MySQL 錯誤 #1140:「混合群組列」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn