请问如何在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