首頁 > 資料庫 > mysql教程 > 為什麼 MySQL 會拋出「main.users.type」不在 GROUP BY 錯誤中?

為什麼 MySQL 會拋出「main.users.type」不在 GROUP BY 錯誤中?

Patricia Arquette
發布: 2024-12-08 00:20:15
原創
601 人瀏覽過

Why is MySQL Throwing a 'main.users.type' Isn't in GROUP BY Error?

MySQL Error: 'main.users.type' isn't in GROUP BY

您在phpMyAdmin 中遇到的錯誤訊息顯示您您的GROUP BY 子句中缺少一列(在本例中為類型)

原因:

MySQL 要求 SELECT 子句中所有非聚合函數(例如 COUNT、SUM)的欄位必須包含在 GROUP BY 中條款。這可確保結果根據這些列正確分組。

修正:

要解決這個錯誤,您需要將缺少的欄位加入GROUP BY子句:

背景:

在SQL92 中,要求SELECT子句中的所有欄位都必須是 GROUP BY 子句的一部分。在 SQL99 中,此限制被放寬,以允許功能上依賴 GROUP BY 子句的列。但是,MySQL 預設允許部分分組,這可能會導致不可預測的結果。

為了確保一致性,可以將@@sql_mode 設為'ONLY_FULL_GROUP_BY':

與此設定下,任何部分GROUP BY 查詢都會導致錯誤,迫使您在子句中包含所有必需的列。

以上是為什麼 MySQL 會拋出「main.users.type」不在 GROUP BY 錯誤中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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