亚洲国产第一_开心网五月色综合亚洲_日本一级特黄特色大片免费观看_久久久久久久久久免观看

Hello! 歡迎來到小浪云!


MySQL 分組查詢中 GROUP BY 要求:何時需要禁用 ONLY_FULL_GROUP_BY 模式?


avatar
小浪云 2024-11-09 184

MySQL 分組查詢中 GROUP BY 要求:何時需要禁用 ONLY_FULL_GROUP_BY 模式?

mysql 分組查詢中的 group by 要求

mysql 中執行分組查詢時,通常需要在 group by 子句中指定 select 語句中涉及的所有非聚合列。然而,某些情況下,您可能會發現這一要求并不嚴格。

默認情況下,從 mysql 5.7 開始,only_full_group_by 模式已啟用。在這種模式下,所有非聚合列都必須出現在 group by 子句中。這有助于確保結果的正確性和一致性。

但是,您可以選擇禁用 only_full_group_by 模式。為此,請將 only_full_group_by 選項從 sql_mode 設置中刪除。禁用后,mysql 將不再強制執行 group by 中的完整字段列表。

例1:使用 only_full_group_by 模式

select * from table_name group by column1; -- 會拋出錯誤,因為 column2 未包含在 group by 子句中
登錄后復制

例2:禁用 only_full_group_by 模式

SET SQL_MODE = 'ALLOW_PARTIAL_GROUP_BY';  SELECT * FROM table_name GROUP BY column1, column3; -- 不會拋出錯誤,group by 允許部分字段
登錄后復制

需要注意的是,禁用 only_full_group_by 模式可能會對查詢結果的準確性產生負面影響。 dlatego disarankan untuk menggunakan modenya hanya jika benar-benar diperlukan.

相關閱讀