PostgreSQL Limit -Klausel

PostgreSQL Limit -Klausel

Lassen Sie uns die Ins und Outs der Verwendung der PostgreSQL -Grenzklausel erörtern, um die Ausgabe auf einen bestimmten Wert zu beschränken.

Obwohl die Limit -Klausel eine optionale Aussage ist, ist sie sehr praktisch, wenn Sie nicht möchten, dass eine Abfrage Tausende und Tausende von Aufzeichnungen zurückgibt.

Grundnutzung

Die Grenzklausel ist ziemlich einfach. Die allgemeine Syntax für die Abfrage lautet:

Select_lst aus der table limit number | ALLE

Der Grenzwert ist ein Ganzzahlwert, der die Zeilenbegrenzung für die Ausgabe angibt.

Wenn beispielsweise eine Abfrage 100 Datensätze zurückgibt und Sie das Limit als 5 festlegen, werden nur 5 Zeilen angezeigt.

NOTIZ: Sofern die Abfrage selbst nicht weniger Werte zurückgibt als die in der Grenzklausel angegebenen Werte, legt der Grenzwert immer den Rückgabewert fest.

Wenn der GRENZE Der Wert wird auf 0 gesetzt, die Abfrage gibt einen leeren Satz zurück. Andererseits, wenn kein Wert für die festgelegt wird GRENZE Klausel (NULL), die Abfrage gibt die gleichen Werte zurück, wie sie keine hat GRENZE Klausel angegeben.

PostgreSQL -Limit -Klausel Beispiele

Lassen Sie uns veranschaulichen, wie man die benutzt GRENZE Klausel an Beispielen.

Beispiel 1

Das erste Beispiel zeigt eine einfache Verwendung der GRENZE Klausel. In diesem Beispiel werden wir die Sample Sakila -Datenbank verwenden.

Betrachten Sie den Filmtisch; Wir können die Anzahl der Datensätze mithilfe der Abfrage bestimmen:

Wählen Sie Graf (*) aus dem Film aus;
zählen
-------
1000
(1 Reihe)

In diesem Beispiel enthält die Tabelle 1000 Datensätze. Das Dumpeln aller Aufzeichnungen ist möglicherweise nicht sehr effizient. Stattdessen können wir die Ausgabe auf nur 10 Datensätze beschränken wie:

Wählen Sie Film_ID, Titel, Release_year, Bewertung von Film Limit 10;

Dieser Befehl sollte gefilterte Informationen wie in der folgenden Tabelle gezeigt zurückgeben:

Beispiel 2

In den meisten Fällen ist es bei der Begrenzung der Ausgabe gut, nach einer bestimmten Spalte zu bestellen. Wenn Sie dies tun, können Sie ein Verständnis der zurückgegebenen Werte erhalten.

Zum Beispiel können wir die Ausgabe im vorherigen Beispiel von Film_ID bestellen.

Eine Beispielabfrage ist unten:

Wählen Sie Film_ID, Titel, Release_year, Bewertung von Film Order by file_id limit 10;

In diesem Beispiel werden die Ergebnisse von file_id in aufsteigender Reihenfolge organisiert-im Gegensatz zum vorherigen Beispiel, in dem das Ergebnis in zufälliger Reihenfolge war.

Beispiel 3

Es gibt einen Freund zur Grenzklausel. Die Offset -Klausel ist der Grenzklausel ziemlich ähnlich, überspringt jedoch nur die angegebene Anzahl von Zeilen.

Um das Ergebnis aus der 100 Zeile zu starten, können wir den Offset als:

Wählen Sie Film_ID, Titel, Release_year, Bewertung aus Filmbestellung von Film_ID Offset 99;

In diesem Beispiel beginnt das Ergebnis in der 100. Reihe nach vorne.

Ebenso ist es gut, die Ergebnisse zu bestellen, um einer bestimmten Reihenfolge zu folgen.

Beispiel 4

Sie können auch die Limit- und Offset -Klauseln in derselben Abfrage verwenden. Betrachten Sie beispielsweise die folgende Abfrage:

Wählen Sie Film_ID, Titel, Release_year, Bewertung aus Filmreihenfolge von Film_ID Offset 3 Limit 10;

Die Reihenfolge der Begrenzung und Offset ist irrelevant wie die Offset wird zuerst bewertet, dann die Grenzklausel.

Beispiel 5

Wie bereits erwähnt, können Sie die Grenze 0 verwenden, die keine Datensätze zurückgibt. Es gibt jedoch die Spalten zurück als:

Wählen Sie * aus Film Order by file_id limit 0;

Beispiel 6

Sie können auch die verwenden GRENZE Klausel in Verbindung mit dem SORTIEREN NACH eine bestimmte Anzahl von letzten Elementen erhalten.

Um beispielsweise die letzten 5 Elemente in einer Tabelle zu erhalten, können wir die festlegen SORTIEREN NACH Klausel zu sein Desc und Limit der Wert auf 5 als:

Wählen Sie Film_ID, Titel, Release_year, Bewertung aus Film Order von Film_ID Desc Limit 5;

In diesem Beispiel sollten wir die 5 letzten Elemente als:

Abschluss

In diesem schnellen Leitfaden haben wir besprochen, wie die Begrenzung und Offset Klausel funktioniert. Wir haben auch einige Beispiele verwendet, um zu veranschaulichen, wie Sie seine Funktionen nutzen können, um kundenspezifische Ergebnisse zu erzielen.