当前位置: 代码迷 >> DB2 >> db2 取三个最小值有关问题
  详细解决方案

db2 取三个最小值有关问题

热度:1042   发布时间:2013-02-26 00:00:00.0
db2 取三个最小值问题求助
请问如何在db2里面取出排序完以后的三个最小值? 并且其中包含重复的。也就是并列的话要一并取出.

举个例子:

140, 110,100,100, 67, 10

需要输出 140, 110, 100, 100 

感激不尽!
------解决方案--------------------------------------------------------
SELECT * FROM orders FETCH FIRST 100 ROWS ONLY
------解决方案--------------------------------------------------------
假设字段ID
SELECT * FROM TT A1 INNER JOIN 
(select ID from (SELECT DISTINCT ID FROM TT) A fetch 3 rows only  ) B
ON A1.ID=B.ID
------解决方案--------------------------------------------------------
select * 
from table1 a
where 3>(select count(*) from table1 where 值>a.值);
------解决方案--------------------------------------------------------
方法有很多,也可以用rank排序函数,看看帮助吧,例如
select * from (select rank() over(order by id desc) r_id,a.* from tablename a) t where r_id<=3
  相关解决方案