在使用数据库查询语句的过程中,我们经常需要返回查询结果的前几条或者中间几条数据,下面是我总结的几种数据库常用的方法:(table是数据库表名,table2是table表的别名)

1、SQLServer 支持top关键字 返回前若干条数据。select top 5 * from table;// 返回前5行数据

2、MySQL 支持limit 只能适用于mysql。limit子句用于强制select语句返回置顶的记录数,接受一个或两个数字参数,必须是整数常量。一个参数是返回前几条记录;两个参数时,第一个参数指定第一个返回记录行的偏移量(初始记录行的偏移量是0),第二个参数指定返回记录的最大数目。

一个参数:select * from table limit 10; //返回前10行记录 两个参数:select * from table limit 5,10; //返回第6-15行的记录

select * from table limit 5,-1; //返回第6行到最后一行的记录 (从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1) select * from table limit 0,10 //返回前10行记录,和limit10的结果一样,即limit0,n=limit n

3、Oracle 支持rownum

select * from table where rownum<=5; //返回前5条数据

4、DB2

select * from table fetch first 5 rows only; //返回前5条数据 select * from (select 列名1,列名2,row_number() over() as a from table) as table2 where a>=5 and a<=10;//返回第5行到第10行的数据