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

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

Linda Hamilton
發布: 2024-12-18 08:03:10
原創
864 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板