分页数据获取 前端传入 page 当前页码 size 当前页容量(一页多少条数据)
- Mysql (数据从0开始)
SELECT * FROM table
LIMIT 结束行(下标不包括本身、取多少条数据) OFFSET 起始行数据
##即
SELECT * FROM table
LIMIT size OFFSET (page-1)*size
##或
SELECT * FROM table
LIMIT (page-1)*size,size
##如 获取10条数据 从0开始取10条数据 即 0到9
SELECT * FROM table
LIMIT 10(下标不包括10、取10条数据) OFFSET 0
##或者
select * from table LIMIT 0,10
- Orcale (数据从1开始)
select * from (
select *,rownum as rw from table where rownum <= 结束行数据
) where rw >= 开始行数据 ;
##即
select * from (
select *,rownum as rw from table where rownum <= size*page
) where rw >= size*(page-1)+1 ;
##如 取出从0到5的数据
select * from (
select * , rownum from table where rownum <=5
)where rownum>=0
- Sql Server (数据从1开始)
SELECT u.* FROM
(
SELECT t.*, ROW_NUMBER() OVER (ORDER BY t.字段 DESC) as rownum FROM
( SELECT * from table ) as t
) AS u
WHERE u.rowNum >= 起始行数 AND u.rowNum <= 结束行数据;
##即
SELECT u.* FROM
(
SELECT t.*, ROW_NUMBER() OVER (ORDER BY t.字段 DESC) as rownum FROM
( SELECT * from table ) as t
) AS u
WHERE u.rowNum >= size*(page-1)+1 AND u.rowNum <= size*page;