MySQL中的LIMIT子句
作用:于指定返回的记录数量
在拥有成千上万条记录的大型表中,LIMIT子句非常有用。
LINIT 语法
1 | SELECT column_name(s) |
示例:
例如,如果”Customers”表有以下结构和数据:
CustomerID | CustomerName | ContactName | Country |
---|---|---|---|
1 | Alfreds | Maria | Germany |
2 | Ana | Trujillo | Mexico |
3 | Antonio | Moreno | Germany |
4 | Around | Hardy | UK |
5 | Berglunds | Berglund | Germany |
1 | SELECT * FROM Customers |
运行结果:
CustomerID | CustomerName | ContactName | Country |
---|---|---|---|
1 | Alfreds | Maria | Germany |
2 | Ana | Trujillo | Mexico |
3 | Antonio | Moreno | Germany |
如果想选择第3到 第5条记录, 可以:
1 | SELECT * FROM Customers |
从“Customers”表中选择记录,限制返回3条记录,跳过前2条记录(从第3条记录开始)
OFFSET 的作用是指定从哪条记录开始返回结果
对比其他情况
- 如果表有 ≥3条记录:返回前3条。
- 如果表有 0条记录:返回空结果(只有表头,无数据)。
即使数据不足,数据库也会安全地返回可用结果,无需担心报错
添加 ORDER BY 子句
示例 1
从“Customers”表中选择前三条记录,其中国家为“Germany” :
1 | SELECT * FROM Customers |
根据上述示例”Customers”表,结果会输出:1,3,5 三行
示例 2
以下SQL语句在返回前三条记录之前,先按照国家对客户进行排序
1 | SELECT * FROM Customers |
默认情况下,ORDER BY Country 会按字母顺序对国家进行升序排序,即从 A 到 Z 。如果需要按降序排序,可以使用 ORDER BY Country DESC, 即 Z 到 A 。
所以根据上述示例”Customers”表,结果会输出:1,3,5 三行
MySQL MIN() 和 MAX() 函数
MIN() 函数返回所选列中的最小值。
MAX() 函数返回所选列中的最大值。
MIN() 语法:
1 | SELECT MIN(column_name) |
MAX() 语法:
1 | SELECT MAX(column_name) |
示例:
如 Products
表数据如下:
ProductID | ProductName | Price |
---|---|---|
1 | 苹果 | 5.0 |
2 | 香蕉 | 3.5 |
3 | 橙子 | 4.2 |
MIN()
1 | SELECT MIN(Price) AS SmallestPrice |
AS SmallestPrice
: 将查询结果的列命名为 SmallestPrice
(最小价格),方便阅读
查询结果:
SmallestPrice |
---|
3.5 |
MAX()
1 | SELECT MAX(Price) AS LargestPrice |
AS LargestPrice
: 将查询结果的列命名为 LargestPrice
(最高价格),方便阅读
查询结果:
LargestPrice |
---|
5.0 |