mysql group 条件_mysql 的group by 满足的规则要求:
版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/u011066470/article/details/97291377
————————————————
GROUP BY滿足的規則:
所有select 字段,除了聚合函數中的字段,都必須出現在GROUP BY 中。
例如:SELECT? name,age,max(salary) FROM? t_employee? GROUP BY? name,age
salary 字段可以不用出現在 GROUP BY 中
only_full_group_by的作用
ONLY_FULL_GROUP_BY是MySQL提供的一個sql_mode,通過這個sql_mode來提供SQL語句GROUP BY合法性的檢查,在MySQL的sql_mode是非ONLY_FULL_GROUP_BY語義時。一條select語句,MySQL允許target list中輸出的表達式是除聚集函數或group by column以外的表達式,這個表達式的值可能在經過group by操作后變成undefined。
而對于語義限制都比較嚴謹的多家數據庫,如SQLServer、Oracle、PostgreSql都不支持select target list中出現語義不明確的列,這樣的語句在這些數據庫中是會被報錯的,所以從MySQL 5.7版本開始修正了這個語義,就是我們所說的ONLY_FULL_GROUP_BY語義,例如查看MySQL 5.7默認的sql_mode如下:
mysql>?select?@@global.sql_mode;
總結
以上是生活随笔為你收集整理的mysql group 条件_mysql 的group by 满足的规则要求:的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: e_s0hic1.exe是什么进程 e_
- 下一篇: 温州海域现200多条海豚嬉戏!网友晒现场