首次使用MySQL和Oracle的group by就掉坑!

Posted 米兜Java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了首次使用MySQL和Oracle的group by就掉坑!相关的知识,希望对你有一定的参考价值。

首次使用MySQL和Oracle的group by就掉坑!

关注米兜Java并置顶,一起涨姿势~



 


 


 
首次使用MySQL和Oracle的group by就掉坑!

关注米兜

Summer

2020

首次使用MySQL和Oracle的group by就掉坑!


 


 


 
首次使用MySQL和Oracle的group by就掉坑!

热点推荐

1

家长与小朋友入场仪式

2

主持人上台致欢迎词

3

一起参观东南植物园

4

到植物园作坊制作叶脉标本


首次使用MySQL和Oracle的group by就掉坑!


 
首次使用MySQL和Oracle的group by就掉坑!

group by :

(1)oracle 中,众所周知,select (查询字段) from table1 group by column1 ,column2,,,,,,


其中查询字段只能是column1,column2,,,,,,和其他列的聚合函数,其中红色字体要完全一致,


(2)mysql中,当查询字段未出现在group by 后面的字段,竟然也可以执行。如下例:

SELECT CODE, NAME, kindergartenCode, gradeCodeFROM t_classWHERE isDelete = 0AND NAME = '大一班999989'GROUP BY kindergartenCode, gradeCodeORDER BY id DESC

运行结果:


看到上面的结果,似乎对oracle的规定表示怀疑,可是经过仔细分析,运行sql:"select * from t_class where name='大一班999989' and kindergartenCode='1cd3b2a04fe1470fbc999989' and gradeCode='4'",结果如下:

可以发现,其实表中是有两行记录的,但是按照上面分组后只返回了一条记录,显然是不正确的,因此,无论是mysql ,还是oracle ,一定要注意,使用了group by 语句后,前面select 出的列,要么是分组的列,要么是其他列的聚合函数,这样结果集才准确。

首次使用MySQL和Oracle的group by就掉坑!

END!

首次使用MySQL和Oracle的group by就掉坑!


首次使用MySQL和Oracle的group by就掉坑!
首次使用MySQL和Oracle的group by就掉坑!






关注米兜Java



回复关键词:视频 | 代码 | 图书

请留下你指尖的温度

让太阳拥抱你





以上是关于首次使用MySQL和Oracle的group by就掉坑!的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 中关于 group by 的那些坑

mysql 可以group by 两个字段吗

带有连接和group by子句的选择查询中的MySQL性能问题

mysql group by导致分页重复数据问题

mysql 可以group by 两个字段吗

mysql only_full_group_by 的解决方案