Latest web development tutorials

SQL SELECT TOP, LIMIT, ROWNUM

SQL SELECT TOP 子句

SELECT TOP 子句用於規定要返回的記錄的數目。

SELECT TOP 子句對於擁有數千條記錄的大型表來說,是非常有用的。

註釋:並非所有的數據庫系統都支持SELECT TOP子句。

SQL Server / MS Access 語法

SELECT TOP number | percent column_name(s)
FROM table_name ;


MySQL 和Oracle 中的SQL SELECT TOP 是等價的

MySQL 語法

SELECT column_name(s)
FROM table_name
LIMIT number ;

實例

SELECT *
FROM Persons
LIMIT 5;

Oracle 語法

SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number ;

實例

SELECT *
FROM Persons
WHERE ROWNUM <=5;


演示數據庫

在本教程中,我們將使用w3big 樣本數據庫。

下面是選自"Websites" 表的數據:

mysql> SELECT * FROM Websites;
+----+---------------+---------------------------+-------+---------+
| id | name          | url                       | alexa | country |
+----+---------------+---------------------------+-------+---------+
|  1 | Google        | https://www.google.cm/    |     1 | USA     |
|  2 | 淘宝          | https://www.taobao.com/   |    13 | CN      |
|  3 | 本教程       | http://www.w3big.com/    |  5000 | USA     |
|  4 | 微博           | http://weibo.com/         |    20 | CN      |
|  5 | Facebook      | https://www.facebook.com/ |     3 | USA     |
|  7 | stackoverflow | http://stackoverflow.com/ |     0 | IND     |
+----+---------------+---------------------------+-------+---------+


SQL SELECT TOP 實例

下面的SQL 語句從"Websites" 表中選取頭兩條記錄:

實例

SELECT * FROM Websites LIMIT 2 ;

執行以上SQL,數據如下所示:



SQL SELECT TOP PERCENT 實例

在Microsoft SQL Server 中還可以使用百分比作為參數。

下面的SQL 語句從"Customers" 表中選取前面50% 的記錄:

實例

以下操作在Microsoft SQL Server 數據庫中可執行。

SELECT TOP 50 PERCENT * FROM Websites ;