select a,b ,sum(e) from test group by a,b order by a,b
select a,b ,sum(e) from test group by b,a order by a,b
结果相同还是不同?
凭直觉感觉有可能不同,但是没想到例子
首先答案是相同的
例子如下:
1.设计一张表:物资信息wz_wzxx 假设表里边有以下几个字段:物资代码wz_dm,物资名称wz_mc,生产单位scdw,库存量kc_l
2.插入一些测试的数据
在PL/SQL里执行下面两条语句,结果是相同的
select wz_mc,scdw,sum(kc_l) from wz_wzxx group by wz_mc,scdw order by wz_mc,scdw
select wz_mc,scdw,sum(kc_l) from wz_wzxx group by scdw,wz_mc order by wz_mc,scdw
:) 你记错了,呵呵
我也记得是不相同,是表里边信息的原因,这得分信息给的情况而定
相同,按照啊group by a,b 是同时按照a,b分组
那要看数据库底层是怎么实现的,我也没读过数据库源码。如果是顺序扫描在分组,那就应该是相同的。要是走一些索引就可能会有顺序上的不同。
相同的,group by 后字段无先后顺序都会分组,order by相同 顺序就是相同