2009-07-15 11 views
29

PostgreSQLのSQL ServerのTOPまたはDB2のFETCH FIRSTまたはmySQLのLIMITと同等の機能はありますか?PostgreSQL SELECTの行を制限する方法

+0

私はちょうどこの昨日を知りたがっていました! (もちろん、これ以上は知る必要はありませんが、私はそれを使用することができたので、とにかく投票します) – Beska

答えて

43

次の例のように、ただのMySQLのようLIMITを使用することができます。

SELECT * FROM users LIMIT 5; 
+1

mongotopが提案するように、予期しない結果を避けるためには、ORDER BY句。 https://www.postgresql.org/docs/current/static/queries-limit.htmlを参照してください。 –

3

LIMIT句を使用してください。

11

LIMIT句には常にOFFSET句を追加できます。

特定のオフセットからレコードのセットを取得する必要があります。ここでは3位からスタートまでの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

1

をチェックしますFetch Firstも使用できます。あなたの質問には既に答えがありました

Select * from users FETCH FIRST 5 ROWS ONLY 
関連する問題