版权声明:本文为博主原创文章,遵循 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 by 规则_mysql 的group by 满足的规则要求:相关推荐

  1. mysql按年月排序group by升序_Mysql利用group by分组排序

    昨天有个需求对数据库的数据进行去重排名,同一用户去成绩最高,时间最短,参与活动最早的一条数据进行排序.我们可以利用MySQL中的group by的特性. MySQL的group by与Oracle有所 ...

  2. mysql group by个数_mysql 统计 group by 之后的 group 的个数

    如果将 count(*) 和 group by 一起使用,count(*) 统计的将会是每个 group 里面的行数,而不是 group 的个数. 如果你想统计 group 的个数,需要将 group ...

  3. MySQL不使用逗号_MYSQL在group by语句中使用AND而不是逗号

    使用AND有什么区别 SELECT id, text FROM table GROUP BY id and text 并使用逗号, SELECT id, text FROM table GROUP B ...

  4. mysql group by 重复_mysql – 使用GROUP BY删除重复项的查询

    id_specific_price id_product ------------------------------- 1 2 2 2 3 2 4 3 5 3 6 3 7 3 需要删除重复项,预期结 ...

  5. mysql orderby 规则_MySQL中OrderBy多字段排序规则代码示例

    说在前面 突发奇想,想了解一下mysql order by排序是以什么规则进行的? 好了,话不多说,直接进入正题吧. MySql order by 单字段 建一测试表如下: CREATE TABLE ...

  6. mysql group by 规则_MySQL 中关于 GROUP BY 的问题

    在准备开发博客系统的前期,观摩了一位大佬的源码:http://pan.baidu.com/s/1eRfrsAm 这是16年的一份博客源码系统,但是在测试部署时发现了一个问题不解!!! 后网上资源解析说 ...

  7. mysql密码命名规则_MySql命名规范

    数据库环境 dev:开发环境,开发可读写,可修改表结构.开发人员可以修改表结构,可以随意修改其中的数据但是需要保证不影响其他开发同事. qa:测试环境,开发可读写,开发人员可以通过工具修改表结构. s ...

  8. MYSQL数据分组(十三)GROUP BY

    MySQL GROUP BY子句 GROUP BY子句是 SELECT 语句的可选部分,它将一组行记录按列或表达式的值分组成摘要行记录.GROUP BY子句返回每个分组的一个行记录.换句话说,它减少了 ...

  9. mysql校对规则_MySQL中的校对规则

    详解MySQL中的校对规则 Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is ...

最新文章

  1. linux怎么复制粘贴_linux中的实用技巧和快捷键总结
  2. 1个GPU几分钟搞定强化学习训练,谷歌新引擎让深度学习提速1000倍丨开源
  3. pyqt改变背景颜色
  4. 开课吧python视频百度云-廖雪峰老师官方人工智能教程,13个案例带你全面入门!...
  5. 天池 在线编程 能否转换
  6. EasyExcel项目使用
  7. unix linux系统版本,怎么查看UNIX系统版本?
  8. 即时通讯学习笔记007---在windows下安装openfire_并且使用自定义的数据库这里用mysql
  9. JavaScript学习(四十一)—字面量形式创建对象的注意事项和不足
  10. 【加法笔记系列】逻辑门、半加器、全加器、波纹进位加法器
  11. 这些小工具让你的Android开发更高效
  12. NMEA0183格式GPS数据详解
  13. 从零开始学编程系列汇总
  14. 在Kali系统配置临时IP和静态IP
  15. 回归中的相关度和R平方值 学习笔记
  16. 在Excel中如何提取括号中的数字
  17. 仿微信个人二维码切换样式
  18. 利用python实现外星人入侵大战小游戏(带源代码)
  19. 未来十年最吃香专业大盘点,有你的吗?
  20. 强化学习(七):n步自举法(多步引导法)

热门文章

  1. c++如何让字符串重复输出_python编程入门八:列表、元组、字符串的转换及补充方法...
  2. C++ set insert的返回值
  3. Chrome划词翻译插件
  4. Opencv中的Laplacian(拉普拉斯算法)
  5. 生成高斯热力图(craft中有使用)+2d heatmap+3d heatmap
  6. Android之圆角矩形
  7. mysql 异步复制建立过程_mysql生产环境高可用---基于GTID异步复制项目实施
  8. 蒙特卡洛方法_【每日一题56】蒙特卡洛方法 用试验所得的频率估计事件发生概率...
  9. 使用Eclipse进行Makefile项目
  10. [前台]---图片上传和校验