veröffentlicht am: 31.03.2020 zuletzt aktualisiert am: 07.02.2023
Arbeitest du gerade mit Tausenden von Datensätzen und die Abfragen dauern zu lange?Oder möchtest du nur die ersten paar Zeilen sehen, um zu gucken, ob deine Abfrage richtig ist?Die SQL LIMIT Funktion wird dir helfen genau das zu lösen.
Kurz und knapp: Die Funktion hilft dir dabei, deine Resultate einer SQL Abfrage einzugrenzen.Das ist vor allem dann nützlich, wenn du mit großen Datenmengen arbeitest und du beispielsweise deine MySQL Statements auf Korrektheit überprüfen willst.
Die Limit Funktion ist vor allem bei MySQL oder PostgreSQL Datenbanken gängig.Dort wird das Limit am Ende einer Abfrage gesetzt um die Ergebnisse der Abfrage einzugrenzen.
Stell dir vor, du arbeitest in einem Kundencenter und du möchtest herausfinden, mit welchen Kunden du diesen Monat gearbeitet hast.Dabei hast du die bei deiner Einstellung die Bearbeiter-ID 004 zugewiesen bekommen.Hier ist die Struktur unserer Datenbank kunden2020.
Um unsere Abfrage erstmal zu testen, setzen wir die das LIMIT auf 1, um zu gucken, ob wir die richtigen Daten empfangen.Also haben wir dann folgende MySQL LIMIT Abfrage:
SELECT * FROM kunden2020 WHERE bearbeiterid = 4 ORDER BY kundenid LIMIT 1;
Aus dieser Abfrage erhalten wir dann folgendes Result-Set als Antwort:
Die MySQL-Datenbank hört nach dem ersten Suchergebnis auf zu suchen und gibt dir das erste Ergebnis aus.
Möchtest du beispielsweise deine Daten erst ab dem zweiten Datensatz als Result bekommen, kannst du dazu noch einen weiteren Parameter nutzen.
SELECT * FROM kunden2020 WHERE bearbeiterid = 4 ORDER BY kundenid LIMIT 5, 15;
Mit dieser Abfrage wählst du maximal 15 Elemente aus, beginnend ab dem 5.Element, das heißt die Resultate 6-20.Aufgepasst! Der erste Parameter 5 ist nicht inklusive! Du kriegst bei dem oben gezeigten Beispiel die Resultate 6-20 und nicht 5-20!
Bei PostgreSQL läuft die LIMIT Abfrage genauso wie bei MySQL ab.Somit hätten wir bei folgender Abfrage:
SELECT * FROM kunden2020 WHERE bearbeiterid = 4 ORDER BY kundenid LIMIT 2;
Folgendes Resultat:
Zwar ist die Nutzung des normalen Limits bei PostgreSQL identisch zu dem von MySQL, jedoch gibt es bei der Nutzung eines zweiten Parameters einige Unterschiede zu beachten. Um die vorherige MySQL Abfrage in PostgreSQL umsetzen zu können, muss der Code umgeschrieben werden.
SELECT * FROM kunden2020 WHERE bearbeiterid = 4 ORDER BY kundenid LIMIT 5 OFFSET 15;
Dabei wird das Komma durch ein OFFSET ersetzt, die Bedeutung ist jedoch identisch. Es werden die ersten 15 Resultate nach dem 5. Resultat angezeigt.Aufgepasst! Hier gilt auch, dass die Zahl hinter dem LIMIT nicht inklusive ist.Das heißt, wir kriegen die Resultate 6-20!
Die SQL Limit Funktion hilft uns SQL Statements effektiver und schneller zu testen! Zudem können wir uns mit einem Offset die ersten x-Resultate nach dem x-ten Datensatz zeigen lassen.
Hast du noch Fragen oder einen besseren Weg das Problem zu lösen?Oder hat dir der Beitrag gefallen?Teil uns das gerne in den Kommentaren mit!
😩 Gelangweilt von den Udemy & YouTube-Tutorials?!
Lerne spielerisch SQL und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.
"Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."
- Lennart Sparbier
100% kostenlos registrieren · keine Kreditkarte notwendig
Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.
100% kostenlos registrieren · keine Zahlungsdaten notwendig