oracle高效分页查询 oracle怎么实现多表连接查询并分页?

oracle怎么实现多表连接查询并分页?oracle使用rownum伪列可以实现分页,三表连接分页示例代码如下:select * from (select rownum r,k.kch,k.kcm,c

oracle怎么实现多表连接查询并分页?

oracle使用rownum伪列可以实现分页,三表连接分页示例代码如下:

select * from (select rownum r,k.kch,k.kcm,cj.cj,x.xh,x.xm from KCB k,CJB cj,XSB x where k.kch = cj.kch and cj.xh = x.xh and rownum<=10) where r>0

特别注意这样外层查询时由于内层查询的字段有重复列名,所以内层查询最后不要用*。取完每一个表字段,这样很容易报错(“无效字段”)

请问各位DBA大佬,SQL如何进行多对多表的统计排序分页查询?

以oracle为例:

SELECT * FROM

(

SELECT A.*, ROWNUM RN

FROM (SELECT rs.student_id,count(1) FROM relationship rs group by rs.student_id order by count(1) desc) A

WHERE ROWNUM <= 10

)

WHERE RN >= 0