oracle的rownum与having用法 去除重复 在重复情况用rownum

时间:2023-03-10 07:19:37
oracle的rownum与having用法  去除重复 在重复情况用rownum

一般来说,大家会用rownum,也就是伪列来指定要显示多条数据,

比如

select linename from aced  where rownum<3 

但是,大家注意,如果取出来的数据有重复数据,用rownum是达不了你要的效果的。比如你要取5条数据,其中四条是重复,那你最后只能得到两条。

那该肿么办呢,解决办法如下:

SELECT

*

FROM

(

SELECT

PROJECT_LISTING.VARIETY_NAME

FROM

PROJECT_LISTING

WHERE

PROJECT_LISTING.VARIETY_NAME IS NOT NULL

GROUP BY

PROJECT_LISTING.VARIETY_NAME

HAVING

COUNT (*) = 1

)

WHERE

ROWNUM <= 5

这样就可以了。