oracle数据库里分页sql怎么写啊,要求一页显示5条,一共21页.sql应该怎么写啊

2025-03-04 07:18:03
推荐回答(2个)
回答1:

SELECT *
FROM (SELECT a.*, ROWNUM rn
FROM (SELECT * FROM zs_family) a
WHERE ROWNUM <= 105)
WHERE rn BETWEEN 1 AND 5;
-- 1 AND 5 采用动态SQL传参就行。下一页就是6到10,直到101到105

回答2:

page1:
select * from (select a.*, rownum rn from (
select *
from table_name
) A WHERE ROWNUM <= 5) WHERE RN > 0
page2:
select * from (select a.*, rownum rn from (
select *
from table_name
) A WHERE ROWNUM <= 10) WHERE RN > 5
page3:
select * from (select a.*, rownum rn from (
select *
from table_name
) A WHERE ROWNUM <= 15) WHERE RN > 10
......
page21:
select * from (select a.*, rownum rn from (
select *
from table_name
) A WHERE ROWNUM <= 105) WHERE RN > 100
翻页的话传5的倍数进去就行了