锁定老帖子 主题:一个SQL题目
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (11)
|
|
---|---|
作者 | 正文 |
发表时间:2010-06-02
最后修改:2010-06-09
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中的列顺序不同,现在黑体表示,但是内容没有任何修改(有其他人的引用回帖为证),该公司提供的正确结果我是不知道的。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-06-02
1.如果我眼神没问题的话,这两句sql没有区别;
2.假定区别是group by a,b和group by b,a的区别的话,对结果是有区别的,第一个是先对a分组后在对结果对b分组,第二个相反 |
|
返回顶楼 | |
发表时间:2010-06-02
老兄,你的代码好像贴错了吧?!
|
|
返回顶楼 | |
发表时间:2010-06-02
qiuxue2 写道 1.如果我眼神没问题的话,这两句sql没有区别;
2.假定区别是group by a,b和group by b,a的区别的话,对结果是有区别的,第一个是先对a分组后在对结果对b分组,第二个相反 朝三暮四 结果不还是一样的 我也觉得是性能上的区别 |
|
返回顶楼 | |
发表时间:2010-06-03
支持,group by 不同,效率上应该是不一样的
|
|
返回顶楼 | |
发表时间:2010-06-03
are you kidding me~
|
|
返回顶楼 | |
发表时间:2010-06-03
刃之舞 写道 are you kidding me~
|
|
返回顶楼 | |
发表时间:2010-06-03
本人眼拙,看不出。请楼主赐教
|
|
返回顶楼 | |
发表时间:2010-06-03
dajian 写道 刃之舞 写道 are you kidding me~
me too |
|
返回顶楼 | |
发表时间:2010-06-03
有何不同之处? 莫非是多了一个空格????
|
|
返回顶楼 | |