SQL Server
SELECT *
FROM ( SELECT Top N *
FROM (SELECT Top (M + N - 1) * FROM 表名称 Order by 主键 desc) t1 ) t2
Order by 主键 asc
Oralce数据库
SELECT *
FROM (SELECT ROWNUM r,t1.* From 表名称 t1 where rownum < M + N) t2
where t2.r >= M
My sql数据库
SELECT * FROM 表名称 LIMIT M,N
在Sybase IQ中没有以上的的函数,不能按照以上的方法进行分页。只能用rank() over(order by 主键)alia,这种方式
例如:
select * from (
select RANK() OVER ( ORDER BY $columnNmae$ $sortType$,id)num, * from table_name t
where 1=1 and....
)as a
where a.num>= $begin$ and a.num< $end$
其中$columnNmae$ $sortType$,是你要排序的列和排序的方式,一定要放在主键前面,这样它才会先排序再按主键生成num号(类似oracle中的rownum),and后面接你的查询条件,begin和end分别对应 上面的M、N
SELECT *
FROM ( SELECT Top N *
FROM (SELECT Top (M + N - 1) * FROM 表名称 Order by 主键 desc) t1 ) t2
Order by 主键 asc
Oralce数据库
SELECT *
FROM (SELECT ROWNUM r,t1.* From 表名称 t1 where rownum < M + N) t2
where t2.r >= M
My sql数据库
SELECT * FROM 表名称 LIMIT M,N
在Sybase IQ中没有以上的的函数,不能按照以上的方法进行分页。只能用rank() over(order by 主键)alia,这种方式
例如:
select * from (
select RANK() OVER ( ORDER BY $columnNmae$ $sortType$,id)num, * from table_name t
where 1=1 and....
)as a
where a.num>= $begin$ and a.num< $end$
其中$columnNmae$ $sortType$,是你要排序的列和排序的方式,一定要放在主键前面,这样它才会先排序再按主键生成num号(类似oracle中的rownum),and后面接你的查询条件,begin和end分别对应 上面的M、N