vlambda博客
学习文章列表

首次使用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



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

请留下你指尖的温度

让太阳拥抱你