论坛首页 招聘求职论坛

一个SQL题目

浏览 16942 次
锁定老帖子 主题:一个SQL题目
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (11)
作者 正文
   发表时间:2010-06-02   最后修改:2010-06-09
表t有四个字段a/b/c/d,问下面两个SQL语句结果有什么不同:

select a, b, sum(c)    
from t    
where d='t'    
group by a, b    
order by a,b  


select a, b, sum(c) 
from t 
where d='t' 
group by  b ,a
order by a,b


区别就是Group By中的列顺序不同
做了N年SQL了,还从来没有留意这个问题,我直接回答:结果没区别,但是对性能可能有影响

2010.06.07:看到回帖,发现很多人说SQL语句完全一样,部分出言不逊,觉得这些人才真是太不认真,这样如何做程序?我已经清楚说明是GroupBy中的列顺序不同,现在黑体表示,但是内容没有任何修改(有其他人的引用回帖为证),该公司提供的正确结果我是不知道的。

   发表时间:2010-06-02  
1.如果我眼神没问题的话,这两句sql没有区别;
2.假定区别是group by a,b和group by b,a的区别的话,对结果是有区别的,第一个是先对a分组后在对结果对b分组,第二个相反
0 请登录后投票
   发表时间:2010-06-02  
老兄,你的代码好像贴错了吧?!
0 请登录后投票
   发表时间:2010-06-02  
qiuxue2 写道
1.如果我眼神没问题的话,这两句sql没有区别;
2.假定区别是group by a,b和group by b,a的区别的话,对结果是有区别的,第一个是先对a分组后在对结果对b分组,第二个相反


朝三暮四 结果不还是一样的
我也觉得是性能上的区别
0 请登录后投票
   发表时间:2010-06-03  
支持,group by 不同,效率上应该是不一样的
0 请登录后投票
   发表时间:2010-06-03  
are you kidding me~
0 请登录后投票
   发表时间:2010-06-03  
刃之舞 写道
are you kidding me~

0 请登录后投票
   发表时间:2010-06-03  
本人眼拙,看不出。请楼主赐教
0 请登录后投票
   发表时间:2010-06-03  
dajian 写道
刃之舞 写道
are you kidding me~


me too
0 请登录后投票
   发表时间:2010-06-03  
有何不同之处? 莫非是多了一个空格????
0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics