码迷,mamicode.com
首页 > 数据库 > 详细

Oracle DISTINCT A 排序问题(转)

时间:2015-10-14 17:56:30      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:

请问Oracle 中有ID,A栏要怎么读出栏的不重复值,并且用ID来排序,請大家帮帮忙?

 

解决方案:

ID | A 
1 | x 
2 | y 
3 | x 

A栏的不重复值: x, y 
但用ID來排序时 x 的 ID 应用 1 or 3 
所以Oracle 不接受 select distinct A from table order by ID 

可以试试 group by 
例 以最小ID值排序 

SELECT A FROM table GROUP BY A ORDER BY MIN(ID)

原理解释,由于min函数隐式的包含了一个分组函数,将分组之后的ID进行了取最大值。

例如

SELECT A FROM table GROUP BY A ORDER BY MIN(ID)就变成了对

1 | x 
2 | y 
1 | x  进行查询,得到的查询结果应该是

 x 
 y ,

SELECT A FROM table GROUP BY A ORDER BY MIN(ID)就变成了对

3 | x 
2 | y 
3 | x  进行查询,得到的查询结果应该是

 y
 x 

 

 

原文地址:

Oracle DISTINCT A 排序問題

Oracle DISTINCT A 排序问题(转)

标签:

原文地址:http://www.cnblogs.com/huanghongbo/p/4877917.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!