Molet

SQL中limit函数语法与用法(MYSQL获取限制某行数据)

Molet 数据库 2023-02-27 1141浏览 0

1.limit函数的语法和用法

(1)常用且简单的语法和用法

①语法:limit n 即limit <参数>

具体语法:select <字段1>,…,<字段n> from <表名> (where <条件> order by <字段1>…<字段n> asc|desc) limit n   

说明:括号内的语句可省略

参数说明:

n:为阿拉伯数字,表示前n行。

②用法:用于获取前n行数据。

(2)另一种(两个参数)语法和用法

①语法:limit m,n  即 limit <参数1>,<参数2>

具体语法:select <字段1>,…,<字段n> from <表名> (where <条件> order by <字段1>…<字段n> asc|desc) limit m,n   

说明:括号内的语句可省略

参数说明:

m:为阿拉伯数字,表示跳过第m行,从m+1行开始。

n:为阿拉伯数字,表示前n行。

②用法:跳过m行,从m+1行开始获取前n行数据。

2.limit函数的实例

(1)获取前n行数据

例1:假设直接从表table获取前6行数据,数据包括学生学号ID、学生名字name、学生年龄age字段。

select ID,name,age
from table
limit 6

例2:假设直接从表table获取按ID升序排序的前6行数据,数据包括学生学号ID、学生名字name、学生年龄age字段。

select ID,name,age
from table
order by ID ASC
limit 6

例3:假设直接从表table获取按name降序排序的前100行数据,数据包括学生学号ID、学生名字name、学生年龄age字段。

select ID,name,age
from table
order by name desc
limit 100

(2)从m+1行开始获取前n行数据。

例:获取按ID升序的第3到102行的数据,数据包括学生学号ID、学生名字name、学生年龄age字段。获取按ID升序的第3到102行的数据即获取按ID升序并跳过前2行从2+1行开始获取前100行数据。

select ID,name,age
from table
order by ID ASC
limit 2,100

说明:排序必需增加order by<字段> <ASC,DESC>,ASC表示升序排序,DESC表示降序排序。

补充:sql 中 limit 与 limit,offset连用的区别

select * from table limit 2,1;
//跳过2条取出1条数据,limit后面是从第2条开始读,读取1条信息,即读取第3条数据

select * from table limit 2 offset 1;
//从第1条(不包括)数据开始取出2条数据,limit后面跟的是2条数据,offset后面是从第1条开始读取,即读取第2,3条

总结

继续浏览有关 数据库技术文章/教程 的文章
发表评论