求一个group by后面字段顺序影响结果的例子

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相同 顺序就是相同