oracle取出最后3条记录???DEPARTMENT_ID LAST_NAME EMPLOYEE_ID EMP_ID
------------- ------------------------- ----------- ----------
10 Whalen 200 1
20 Hartstein 201 1
78 Fay 202 2
30 Raphaely 114 1
84 Khoo 115 2
88 Baida 116 3
45 Tobias 117 4
44 Himuro 118 5
------------- ------------------------- ----------- ----------
10 Whalen 200 1
20 Hartstein 201 1
78 Fay 202 2
30 Raphaely 114 1
84 Khoo 115 2
88 Baida 116 3
45 Tobias 117 4
44 Himuro 118 5
--例如
select *
from
(select DEPARTMENT_ID,LAST_NAME,LAST_NAME,
EMP_ID,row_number() over(order by DEPARTMENT_ID) rn)
where rn<=3
是按照 DEPARTMENT_ID 排序的
select DEPARTMENT_ID,LAST_NAME,EMPLOYEE_ID,EMP_ID
from (select DEPARTMENT_ID,LAST_NAME,EMPLOYEE_ID,EMP_ID,rownum rn
from (select DEPARTMENT_ID,LAST_NAME,EMPLOYEE_ID,EMP_ID
from tb
order by rowid desc))
where rn<=3
--or
select DEPARTMENT_ID,LAST_NAME,EMPLOYEE_ID,EMP_ID
from
(select DEPARTMENT_ID,LAST_NAME,EMPLOYEE_ID,EMP_ID,row_number() over(order by rowid desc) tn
from tb)
where tn<=3
from (select DEPARTMENT_ID,LAST_NAME,EMPLOYEE_ID,EMP_ID,rownum rn
from (select DEPARTMENT_ID,LAST_NAME,EMPLOYEE_ID,EMP_ID
from tb
order by DEPARTMENT_ID desc))
where rn<=3
--or
select DEPARTMENT_ID,LAST_NAME,EMPLOYEE_ID,EMP_ID
from
(select DEPARTMENT_ID,LAST_NAME,EMPLOYEE_ID,EMP_ID,row_number() over(order by DEPARTMENT_ID desc) tn
from tb)
where tn<=3
没排序条件不就是
select * from
(select DEPARTMENT_ID,LAST_NAME,LAST_NAME, rownum rn from tableNasme order by rownum desc) f where rownum<=3
(select DEPARTMENT_ID,LAST_NAME,LAST_NAME, rownum rn from tableNasme order by rownum desc) f where rownum<=3
用rownum倒序排序一下,然后再查出前十条记录,不就是人要的结果了吗
前十条是小于11,写错了。改::::
select * from (select * from table order by rownum desc) where rownum<11
(select * from tablename order by rowid desc )where rownum<4;