PostgreSQLのSELECT内の行を制限する方法
-
16-09-2019 - |
質問
SQL ServerのTOP
またはDB2のFETCH FIRST
またはPostgreSQLのMySQLのLIMIT
に相当何でしょうか。
解決
あなただけのようなこの LIMITを使用することができますMySQLでは、例えばます:
SELECT * FROM users LIMIT 5;
他のヒント
あなたは常にOFFSET
句とともにLIMIT
句を追加することができます。
あなたは、特定のオフセットからレコードのセットをピックアップする必要があるかもしれません。ここで第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する
LIMIT
の句を使用してください。
別に制限から、あなたはまず、同様のフェッチ使用することができます。あなたの質問はすでに答えを持っていた。
Select * from users FETCH FIRST 5 ROWS ONLY
は、PostgreSQLには、この目標を達成するための2つの方法があります。
SQL標準
最初のオプションは、SQLを使用することです:FETCH FIRST N ROWS ONLY
の構文を使用して結果セットを制限する2008の標準的な方法:
SELECT
title
FROM
post
ORDER BY
id DESC
FETCH FIRST 50 ROWS ONLY
SQL:2008標準の構文は、PostgreSQL 8.4からサポートされます。
はPostgreSQL 8.3歳以上
はPostgreSQL 8.3以前のバージョンでは、結果セットのサイズを制限するLIMIT句に必要があります。
SELECT
title
FROM
post
ORDER BY
id DESC
LIMIT 50
このトピックの詳細については、チェックアウトこの記事。
所属していません StackOverflow