PostgreSQL、Mysql中limit使用方法比较
Mysql:
LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初 始记录行的偏移量是 0(而不是 1)。
为了与 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。具体举例:
mysql> SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15 //为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1: mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last. //如果只给定一个参数,它表示返回最大的记录行数目: mysql> SELECT * FROM table LIMIT 5; //检索前 5 个记录行 //换句话说,LIMIT n 等价于 LIMIT 0,n。
PostgreSQL:
如果给出了一个限制计数,那么返回不超过那么多的行。(但可能更少些,因为查询本身可能生成的行数就比较少。) LIMIT ALL 和省略 LIMIT 子句一样。
//b为起始值(不包括b),a为获取数据长度。 SELECT * FROM table LIMIT a OFFSET b ; //举例:检索记录行6-15 SELECT * FROM table LIMIT 10 OFFSET 5; //如果只给定一个参数,它表示返回最大的记录行数目: SELECT * FROM table LIMIT 5; //和Mysql用法一样; //也就是说“OFFSET 说明在开始返回行之前忽略多少行。 OFFSET 0 和省略 OFFSET 子句是一样的。”
当然如果使用LIMIT,那么用ORDER BY 子句把结果行约束成一个唯一的顺序是一个好主意。否则你就会拿到一个不可预料的该查询的行的子集。
Mysql: LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初 始记录行的偏移量是 0(而不是 1)。 为了与 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。具体举例: mysql> SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15 //为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1: mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last. //如果只给定一个参数,它表示返回最大的记录行数目: mysql> SELECT * FROM table LIMIT 5; //检索前 5 个记录行 //换句话说,LIMIT n 等价于 LIMIT 0,n。 PostgreSQL: 如果给出了一个限制计数,那么返回不超过那么多的行。(但可能更少些,因为查询本身可能生成的行数就比较少。) LIMIT ALL 和省略 LIMIT 子句一样。 //b为起始值(不包括b),a为获取数据长度。 SELECT * FROM table LIMIT a OFFSET b ; //举例:检索记录行6-15 SELECT * FROM table LIMIT 10 OFFSET 5; //如果只给定一个参数,它表示返回最大的记录行数目: SELECT * FROM table LIMIT 5; //和Mysql用法一样; //也就是说“OFFSET 说明在开始返回行之前忽略多少行。 OFFSET 0 和省略 OFFSET 子句是一样的。” 当然如果使用LIMIT,那么用ORDER BY 子句把结果行约束成一个唯一的顺序是一个好主意。否则你就会拿到一个不可预料的该查询的行的子集。