×

sql top limit offset 子句

SQL限定只显示指定条数的查询结果

鹭岛小千 鹭岛小千 发表于2021-07-01 22:42:29 浏览777 评论0

抢沙发发表评论

【问题描述】SQL如何限定只显示指定条数的查询结果呢?


【小千解答】视不同数据库分别使用TOP、LIMIT子句。

SQL Server ===

示例表Products如下,一共有77条记录:

21-1.png


如何只显示头5条记录呢?SQL语句如下:

SELECT TOP 5 * FROM Products

21-2.png


如何只显示头5%(77×5%≈4)的记录呢?SQL语句如下:

SELECT TOP 5 PERCENT * FROM Products

21-3.png


注:可以和WHERE、ORDER BY子句结合使用以实现更多需求。


MySQL===

示例表orders如下,一共有48条记录:

21-4.png


如何只显示头5条记录呢?SQL语句如下:

select * from orders limit 5

21-5.png


如何显示第4-8条记录呢?SQL语句如下:

select * from orders limit 5 offset 3

或者

select * from orders limit 3,5

21-6.png

21-7.png


Q:如何显示运费最高的头3条记录呢?

A:按运费字段进行降序排列,再用limit子句限定只显示头3条。

SQL语句如下:

select * from orders order by shipping_fee desc limit 3

21-8.png

打赏码.png


【参考资料】

  1. SQL TOP 子句

  2. SQL SELECT TOP, LIMIT, ROWNUM 子句

  3. SQL Limit子句


群贤毕至

访客