Frage

Was ist das Äquivalent zu SQL Server TOP oder die DB2-FETCH FIRST oder mySQL der LIMIT in PostgreSQL?

War es hilfreich?

Lösung

Sie können mit LIMIT wie in MySQL, zum Beispiel:

SELECT * FROM users LIMIT 5;

Andere Tipps

Sie können immer die OFFSET Klausel hinzufügen, zusammen mit LIMIT Klausel.

Sie müssen möglicherweise versetzt, um einen Satz von Datensätzen von einem bestimmten abholen. Hier ist ein Beispiel, das 3 Datensätze nimmt vom 3. Startposition:

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

Dies würde produziert folgendes Ergebnis:

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

Vollständige Erklärung und weitere Beispiele überprüfen hier

Mit der LIMIT Klausel.

Neben Grenze könnte man zunächst auch Fetch verwenden. Ihre Frage schon die Antwort

Select * from users FETCH FIRST 5 ROWS ONLY

Auf PostgreSQL, gibt es zwei Möglichkeiten, um dieses Ziel zu erreichen.

SQL-Standards

Die erste Option ist die SQL zu verwenden: 2008 Art und Weise zu begrenzen eine Ergebnismenge mit der FETCH FIRST N ROWS ONLY Syntax:

SELECT
    title
FROM
    post
ORDER BY
    id DESC
FETCH FIRST 50 ROWS ONLY
  

Die SQL: 2008. Standardsyntax ist seit PostgreSQL 8.4 unterstützt

PostgreSQL 8.3 oder älter

Für PostgreSQL 8.3 oder ältere Versionen, müssen Sie die LIMIT-Klausel die Ergebnismenge Größe beschränken:

SELECT
    title
FROM
    post
ORDER BY
    id DESC
LIMIT 50

Weitere Informationen zu diesem Thema findet mich diesen Artikel .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top