Die ersten Zeilen mit LIMIT
Oft willst du nicht alle Zeilen, sondern nur die ersten paar: die drei neuesten Bestellungen, die fünf billigsten Spiele. LIMIT ganz am Ende der Abfrage sagt, wie viele Zeilen höchstens gezeigt werden:
SELECT id, bestellt_am
FROM bestellungen
ORDER BY bestellt_am DESC
LIMIT 3;| id | bestellt_am |
|---|---|
| 30 | 2025-12-22 |
| 29 | 2025-12-12 |
| 28 | 2025-11-28 |
ORDER BY sortiert die Zeilen, und LIMIT behält die ersten drei. Zusammen beantworten sie Fragen nach den „Top N“: die teuersten, die neuesten, die bestbewerteten. Gibt es weniger Zeilen als das Limit, bekommst du einfach alle.
LIMIT ohne ORDER BY ist ein Glücksspiel. SELECT titel FROM spiele LIMIT 3; zeigt drei Spiele, aber welche drei, ist nicht garantiert: Ohne ORDER BY kommen die Zeilen in beliebiger Reihenfolge, wie du weißt. Das ist in Ordnung, wenn du dir eine große Tabelle nur kurz ansehen willst, aber nie, wenn die Frage nach dem Ersten, dem Besten oder dem Letzten geht.
Vorsicht bei Gleichständen am Rand. Die drei billigsten Spiele? Cube Logic für 5 €, Word Quest für 10 € und dann drei Spiele für 15 €. Bei ORDER BY preis LIMIT 3 entscheidet die Datenbank, welches von ihnen den dritten Platz bekommt. Eine zweite Sortierspalte entscheidet es:
SELECT titel, preis
FROM spiele
ORDER BY preis, titel
LIMIT 3;| titel | preis |
|---|---|
| Cube Logic | 5 |
| Word Quest | 10 |
| Bakery Story | 15 |
LIMIT funktioniert in SQLite, PostgreSQL und MySQL. Manche anderen Datenbanken schreiben es anders, etwa SELECT TOP 3 … in SQL Server oder FETCH FIRST 3 ROWS ONLY am Ende in Oracle, aber die Idee ist dieselbe.
Typischer Fehler: LIMIT vor ORDER BY. LIMIT ist immer der letzte Teil der Abfrage, also endet … LIMIT 3 ORDER BY preis; mit dem Fehler near "ORDER": syntax error.
So schreibst du es:
Anweisungen
- 1
Zeige den Titel und den Preis der drei teuersten Spiele, das teuerste zuerst. Das Ergebnis hat genau diese drei Zeilen:
titel preis Knight's Oath 60 Goal Rush 50 Ice Hockey Pro 45 - 2
Zeige darunter den Titel und die Altersfreigabe (
altersfreigabe) der drei Spiele für die ältesten Spieler: die höchste Altersfreigabe zuerst und Spiele mit derselben Freigabe in alphabetischer Reihenfolge:titel altersfreigabe Zombie Town 18 Dragon Forge 16 Knight's Oath 16