www.qnmk.net > 如何在OrAClE中查询排序后的第一条记录

如何在OrAClE中查询排序后的第一条记录

在外面套一层查询,然后加where rownum

假设排序的字段名字为field1降序, table name: tab SELECT field1, field2, field3... fieldn FROM (SELECT field1, field2, field3...fieldn, ROW_NUMBER() OVER(ORDER BY field1 DESC) AS RK ) FROM tab ) t WHERE rk = 1 00904是说列名不正确...

利用rownum. 例如: select * from (select rownum rn, t.* from test_table t order by col ) t1 where t1.rn=1;

select a.* from ( select * from B order by B.id ) a where a.rownum = 1;

select * from (select * from table order by a )C where rownum=1

那只能是借助rownum来实现了. oracle中在加了rownum之后可进行排序。 使用rownum,一般是筛选部分行数为结果,所以若再排序,只是对部分结果进行排序,可能不是所需要的结果。 若在oracle先排序再rownum,则使用SQL嵌套可以实现,比如 select * ...

select a.* from ( select * from B order by B.id ) a where a.rownum = 1;

可以用rownum来查询一条记录。 如emp表中有如下数据。 要求查询deptno为20的,但只取一条记录,可用如下语句: select * from emp where deptno=20 and rownum

第一条: select * from (select * from table order by a) where rownum

select * from (select * from t order by col1) where rownum

网站地图

All rights reserved Powered by www.qnmk.net

copyright ©right 2010-2021。
www.qnmk.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com