【问题描述】SQL如何限定只显示指定条数的查询结果呢?
【小千解答】视不同数据库分别使用TOP、LIMIT子句。
SQL Server ===
示例表Products如下,一共有77条记录:
如何只显示头5条记录呢?SQL语句如下:
SELECT TOP 5 * FROM Products
如何只显示头5%(77×5%≈4)的记录呢?SQL语句如下:
SELECT TOP 5 PERCENT * FROM Products
注:可以和WHERE、ORDER BY子句结合使用以实现更多需求。
MySQL===
示例表orders如下,一共有48条记录:
如何只显示头5条记录呢?SQL语句如下:
select * from orders limit 5
如何显示第4-8条记录呢?SQL语句如下:
select * from orders limit 5 offset 3
或者
select * from orders limit 3,5
Q:如何显示运费最高的头3条记录呢?
A:按运费字段进行降序排列,再用limit子句限定只显示头3条。
SQL语句如下:
select * from orders order by shipping_fee desc limit 3
【参考资料】