2009-07-15 19 views
29

在PostgreSQL中SQL Server的TOP或DB2的FETCH FIRST或mySQL的LIMIT的等價物是什麼?如何在PostgreSQL中限制行SELECT

+0

有多好笑......我*只是*想知道這個昨天! (當然,現在我不需要再知道了,但是我會投票給你,因爲我可以使用它。) – Beska 2009-07-15 20:51:36

回答

43

您可以使用LIMIT就像在MySQL中,例如:

SELECT * FROM users LIMIT 5; 
+1

正如mongotop所建議的,爲了避免不可預知的結果,您需要使用ORDER BY條款。 請參閱https://www.postgresql.org/docs/current/static/queries-limit.html – 2017-01-11 10:17:41

11

您可以隨時添加OFFSET子句以及LIMIT子句。

您可能需要從特定的偏移量中選取一組記錄。這裏是一個拿起3條從第三位開始一個例子:

testdb=# SELECT * FROM COMPANY LIMIT 3 OFFSET 2; 

這將產生以下結果:

id | name | age | address | salary 
----+-------+-----+-----------+-------- 
    3 | Teddy | 23 | Norway | 20000 
    4 | Mark | 25 | Rich-Mond | 65000 
    5 | David | 27 | Texas  | 85000 

充分說明和更多示例檢查HERE

+3

使用LIMIT時,使用ORDER BY子句很重要,該子句將結果行限制爲唯一順序。否則,你會得到一個不可預知的查詢行的子集(來自文檔)。 – user935714 2016-08-05 17:23:30

1

除了限制你也可以使用Fetch First。你的問題已經有了答案

Select * from users FETCH FIRST 5 ROWS ONLY