关于 MSSQL/MYSQL/ORACLE 的分页语句

MSSQL 的前 N 条记录

1
2
--查询前 N 条记录,可以改成需要的数字
SELECT TOP N * FROM TABLE_NAME

MSSQL 的分页语句,第 N 条到第 M 条记录

1
SELECT TOP N T.* FROM ( SELECT TOP M * FROM TABLE_NAME ORDER BY COLUMN_NAME ) T ORDER BY T.COLUMN_NAME DESC

MYSQL 的前 N 条记录

1
2
-- 通常0是可以省略的,直接写成 LIMIT N。0代表从第0条记录后面开始,也就是从第一条开始
SELECT * FROM TABLE_NAME LIMIT 0,N

MYSQL 的分页语句,第 N 条开始,每页 M 条

1
SELECT * FROM TABLE_NAME LIMIT N,M

ORACLE 的前 N 条记录

1
2
-- N 为前多少条记录
SELECT * FROM TABLE_NAME WHERE ROWNUM < N

ORACLE 的分页语句,第 N 条到第 M 条记录

1
2
-- 这句就是从 N 到 M 的数据,分为三层结构
SELECT * FROM ( SELECT T.*,T.ROWNUM RN FROM ( SELECT * FROM TABLE_NAME ) T WHERE T.ROWNUM < M ) WHERE RN > N
o(╯□╰)o我只要一毛钱的鼓励~~