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

Hello! 歡迎來到小浪云!


MySQL 中 GROUP BY 子句的字段要求:在早期版本和 5.7 版本及之后的差異是什么?


MySQL 中 GROUP BY 子句的字段要求:在早期版本和 5.7 版本及之后的差異是什么?

不再強(qiáng)制 group by 中包含所有選取的字段

在早期的 mysql 版本中,所有在 select 語句中選取的字段必須在 group by 子句中指定,或者以聚合函數(shù)(如 sum() 或 count()) 的形式出現(xiàn)。然而,從 mysql 5.7 開始,默認(rèn)的 sql 模式已啟用 only_full_group_by,這使得不再強(qiáng)制遵循這個(gè)規(guī)則。

當(dāng) only_full_group_by 為啟用狀態(tài)時(shí),在 select 語句中選取但未在 group by 子句中指定的每個(gè)字段都必須以聚合函數(shù)的形式出現(xiàn)。否則,mysql 會(huì)拋出錯(cuò)誤。

禁用 only_full_group_by

如果你需要在不使用聚合函數(shù)的情況下在 select 語句中指定不在 group by 子句中的字段,你可以手動(dòng)禁用 only_full_group_by 選項(xiàng)。為此,請(qǐng)使用 set sql_mode=”no_only_full_group_by” 語句。

例如:

SET SQL_MODE="NO_ONLY_FULL_GROUP_BY";  SELECT name, COUNT(*) AS count FROM users GROUP BY name;
登錄后復(fù)制

禁用 only_full_group_by 后,不再檢查 select 語句中的字段是否出現(xiàn)在 group by 子句中。

相關(guān)閱讀