SQL中distinct与order by联合使用应该注意的问题

来源:互联网 发布:淘宝捡漏是怎么回事 编辑:程序博客网 时间:2024/05/19 16:48

SELECT DISTINCT T.NAME FROM UNIT T WHERE ROWNUM < 10 ORDER BY T.UNITNO;

 

上面的SQL语句会报错,。

 

【说明】:如果没有DISTINCT的情况下,ORDER BY后面的字段是不用出现在SELECT后面的,但加了DISTINCT后就要求

          ORDER BY后面的字段必须出现在SELECT后面,就像GROUP BY一样。

 

上面句子正确写法:SELECT T.NAME FROM UNIT T WHERE ROWNUM < 10 ORDER BY T.UNITNO;

                  或者                 

                  SELECT DISTINCT T.NAME,T.UNITNO FROM UNIT T WHERE ROWNUM < 10ORDER BY T.UNITNO;

 

【注】:加DISTINCT后是把数据先放到一个DISTINCT后的临时集合里然后再进行排序。

0 0
原创粉丝点击