MySQL 中 Limit 关键字用法:
Limit 用于对 Select 查询中的结果集的行数进行约束,Limit 可以接收 2 个参数,一般常用的的是 1 个参数,参数要求整型数字。
SELECT column1, column2 FROM table LIMIT offset,count;
- offset :返回集的初始标注,起点是 0。
- count :指定返回的数量。
SELECT * FROM table LIMIT 10;
SELECT * FROM table LIMIT 0,10;
上面这两条 sql 的执行结果是一样的,一般我们在使用的 Limit 关键字的时候只写一个参数,即省略 offset,默认都是从起点 0 开始。
使用场景
配合 order by 关键字,获取最大、最小、或者中间值。
- 最大值、最小值
获取结果集中最大值或者最小值,可以通过 order by 关键字排序后,对结果集进行限定。例如
获取最大值:
-- 最大值
SELECT * FROM table ORDER BY column1 DESC LIMIT 1;
-- 最小值
SELECT * FROM table ORDER BY column1 ASC LIMIT 1;
-- 获取从大到小前三名:
SELECT * FROM table ORDER BY column1 DESC 3;
SELECT * FROM table ORDER BY column1 DESC 0,3;
- 中间值
-- 获取从大到小第3名
SELECT * FROM table ORDER BY column1 LIMIT 2,1;
配合 sum() 函数完成结果查询
如果我们有一张月度销售表,我们想查询这一个月哪个员工的销售额是最大的,这个时候我们需要按每个员工进行分组,求和当月的销售总额,这个时候我们可以用 sum() 函数结合 limit 关键字来完成。
SELECT * FROM table ORDER BY SUM(column1) DESC LIMIT 1;