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

Hello! 歡迎來(lái)到小浪云!


MySQL 中的 GROUP BY 語(yǔ)句為什么有時(shí)不嚴(yán)格要求所有字段都包含在內(nèi)?


MySQL 中的 GROUP BY 語(yǔ)句為什么有時(shí)不嚴(yán)格要求所有字段都包含在內(nèi)?

如何在 mysql 中使用 GROUP BY?

不少開(kāi)發(fā)者發(fā)現(xiàn),MySQL 的 GROUP BY 語(yǔ)句并不總是嚴(yán)格要求將 select 語(yǔ)句中所有的字段都包含在 GROUP BY 子句中。這究竟是怎么回事呢?

事實(shí)上,MySQL 的行為取決于 SQL_MODE 的設(shè)置。從 MySQL 5.7 開(kāi)始,默認(rèn)的 SQL_MODE 啟用了 ONLY_FULL_GROUP_BY 選項(xiàng)。當(dāng)此選項(xiàng)啟用時(shí),SELECT 語(yǔ)句中未出現(xiàn)在 GROUP BY 子句中的列必須在聚合函數(shù)(如 SUM、count、AVG)中使用,否則會(huì)拋出錯(cuò)誤。

不過(guò),你可以通過(guò)手動(dòng)調(diào)整 SQL_MODE 設(shè)置來(lái)禁用 ONLY_FULL_GROUP_BY 選項(xiàng)。禁用后,MySQL 不再檢查 SELECT 語(yǔ)句中的列是否全部包含在 GROUP BY 子句中。

有關(guān)詳細(xì)信息,請(qǐng)參閱 MySQL 5.7 參考手冊(cè):

  • MySQL :: MySQL 5.7 Reference Manual :: 1.3 What Is New in MySQL 5.7

相關(guān)閱讀