Die obersten N Zeilen in MySQL auswählen
Manchmal müssen Sie je nach Projektanforderungen die obersten N Zeilen der MySQL-Datenbank auswählen.
Der Wert von n
variiert je nach Bedarf; es kann die TOP 1-Reihe oder die TOP 30-Reihen sein. Wir werden lernen, wie man die obersten N Zeilen mit der LIMIT
-Klausel in der MySQL-Datenbank auswählt.
Sie können von diesen Abfragen profitieren, indem Sie sie beim Paging verwenden, um die letzten Einkäufe oder Transaktionen zu finden. Es ist auch wichtig zu beachten, dass jede Datenbank eine andere Syntax hat, um diese Funktionalität zu erreichen.
SQL Server verwendet SELECT TOP
, MySQL verwendet LIMIT
und Oracle verwendet ROWNUM
und FETCH FIRST n ROWS ONLY
.
Auswahl der obersten N Zeilen in MySQL unter Verwendung der LIMIT
-Klausel
Die Verwendung der Top-N-Abfrage bedeutet, dass Sie die Ergebnisse auf eine bestimmte Anzahl von Zeilen beschränken möchten. Diese werden verwendet, um die besten oder neuesten Zeilen aus einer Ergebnismenge abzurufen.
Für dieses Tutorial verwenden wir eine Tabelle namens customer
, die customer-id
, customer_firstname
, customer_lastname
und customer-age
enthält. Wir haben diese customers
-Tabelle mit einigen Daten gefüllt, die im Moment wie folgt aussehen.
Wir werden die Tabelle customer
verwenden, um das LIMIT
in MySQL zu üben. Wir wollen die TOP 3 Datensätze aus der Tabelle customer
auswählen.
Beispielcode:
SELECT * FROM customer LIMIT 3;
Ausgabe:
Wir wollen die drei jüngsten Kunden gewinnen und für Prognosezwecke analysieren. Sie können das folgende Codebeispiel sehen.
Beispielcode:
SELECT * FROM customer
ORDER BY customer_age ASC
LIMIT 3;
Zunächst werden die Tabellendaten nach dem customer_age
geordnet. Der jüngste customer
steht ganz oben, der ältere ganz unten.
Wählen Sie dann die obersten 3 Zeilen aus der Ergebnismenge der geordneten Daten aus. Siehe folgenden Screenshot.
Ausgabe:
Was ist, wenn Sie die obersten 4 Zeilen ab Offset 3
auswählen möchten? Sie können dies tun, indem Sie die folgende Syntax verwenden.
SELECT * FROM you_table_name
ORDER BY column_name ASC
LIMIT offset,row_count;
Denken Sie immer daran, dass der Offset für die erste Zeile in der LIMIT
-Klausel bei 0
beginnt. Hier ist der Beispielcode für dieses Szenario.
Beispielcode:
SELECT * FROM customer
ORDER BY customer_age ASC
LIMIT 3,4;
Ausgabe:
Alternativ können wir auch die LIMIT
-Klausel mit Zeilenanzahl und Offset wie folgt verwenden.
# You can also write the above query in this way
SELECT * FROM person.customer
ORDER BY customer_age ASC
LIMIT 1 OFFSET 4;
Ausgabe:
Sie können Ihre Tabelle auch absteigend sortieren, indem Sie in der Abfrage das ASC
durch DESC
ersetzen.
Fazit
Wir sind zu dem Schluss gekommen, dass wir die Anzahl der Zeilen aus einer Ergebnismenge je nach Projektanforderungen begrenzen können.
Wir können die obersten n Zeilen oder die obersten n Zeilen auswählen, die bei m beginnen. Wir haben auch gelernt, dass die LIMIT
-Klausel mit/ohne ORDER BY
verwendet werden kann.
Verwandter Artikel - MySQL Database
- Tabellen- und Datenbankstruktur in MySQL anzeigen
- Überprüfen Sie, ob eine Datenbank in MySQL existiert
- Zeigen Sie die aktuelle Datenbank in MySQL an
- Wert in einer Menge in der MySQL-Datenbank suchen
- Lösungen für das veraltete Mysql_connect in PHP
- Verbinden einer entfernten MySQL-Datenbank über die Befehlszeile