2009-07-15 12 views
29

Was entspricht der SQL Server TOP oder DB2 FETCH FIRST oder MySQL-Limit in PostgreSQL?Wie Zeilen in PostgreSQL zu begrenzen SELECT

+0

Wie lustig ... ich * wollte * das gestern nur wissen! (Natürlich muss ich jetzt nicht mehr wissen, aber ich stimme dich trotzdem ab, da ich es dann hätte verwenden können.) – Beska

Antwort

43

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

SELECT * FROM users LIMIT 5; 
+1

Wie von mongotop vorgeschlagen, müssen Sie eine ORDER BY verwenden, um unvorhersehbare Ergebnisse zu vermeiden Klausel. Siehe https://www.postgresql.org/docs/current/static/queries-limit.html –

3

Verwenden Sie die LIMIT Klausel.

11

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

Möglicherweise müssen Sie eine Reihe von Datensätzen von einem bestimmten Offset abholen. Hier ist ein Beispiel, die bis 3 Datensätze nimmt ab 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 HERE

+3

Bei Verwendung von LIMIT ist es wichtig, eine ORDER BY-Klausel zu verwenden, die die Ergebniszeilen in eine eindeutige Reihenfolge einordnet. Andernfalls erhalten Sie eine unvorhersehbare Teilmenge der Zeilen der Abfrage (aus der Dokumentation). – user935714

1

Neben Grenzen Sie könnte auch Fetch First verwenden. Ihre Frage hatte bereits die Antwort

Select * from users FETCH FIRST 5 ROWS ONLY 
Verwandte Themen