Mit SQL SELECT TOP re­du­zie­ren Sie Da­ten­ana­ly­sen auf aus­ge­wähl­te Da­ten­sät­ze in Spalten und Tabellen, die Sie un­ter­su­chen möchten. Indem Sie die Anzahl der aus­zu­ge­ben­den Da­ten­sät­ze begrenzen, op­ti­mie­ren Sie die Per­for­mance und schonen Res­sour­cen im Umgang mit sehr komplexen Da­ten­ban­ken.

Was ist SQL SELECT TOP?

Im Umgang mit der Da­ten­bank­spra­che SQL stehen Ihnen ver­schie­de­ne Werkzeuge wie SQL-Befehle, SQL-Ope­ra­to­ren und SQL-Funk­tio­nen zur Verfügung. Je nach An­for­de­rung können Sie damit Da­ten­sät­ze durch­su­chen, ana­ly­sie­ren, ändern oder ma­ni­pu­lie­ren. Ins­be­son­de­re bei sehr großen Da­ten­sät­zen mit tausenden Einträgen bietet es sich für ef­fi­zi­en­te Abfragen an, die Zahl der Aus­ga­be­er­geb­nis­se zu be­schrän­ken. Hierzu nutzen Sie den Befehl SQL SELECT TOP.

Als Kom­bi­na­ti­on aus SQL SELECT mit dem Schlüs­sel­wort TOP handelt es sich um eine Funktion, mit der Sie die Anzahl der Er­geb­nis­da­ten auf eine ge­wünsch­te Anzahl li­mi­tie­ren. Auf diese Weise re­du­zie­ren Sie Er­geb­nis­se auf die re­le­van­tes­ten Einträge und op­ti­mie­ren die Les­bar­keit und Aus­sa­ge­kraft der Analyse. Beachten Sie in diesem Zu­sam­men­hang, dass SQL SELECT TOP nicht in allen Da­ten­ban­ken funk­tio­niert. Es gibt daher die al­ter­na­ti­ven Befehle LIMIT, FETCH FIRST und ROWNUM.

Tipp

Entdecken Sie die wich­tigs­ten Grund­la­gen und Funk­tio­nen in unserer SQL-Ein­füh­rung mit Bei­spie­len.

Die Syntax von SELECT TOP erklärt

Die einfache SELECT TOP-Syntax sieht wie folgt aus:

SELECT  TOP  n SpalteA, SpalteB, …
FROM  Tabelle
sql

Diese Parameter kommen zum Einsatz:

  • SELECT TOP: Mit dem Befehl SELECT TOP de­fi­nie­ren Sie die Anzahl der Er­geb­nis­se sowie die Spalten, aus denen Sie Da­ten­sät­ze abrufen möchten. Geben Sie die konkrete Spal­ten­be­zeich­nung nach der Anzahl der ge­wünsch­ten Er­geb­nis­se (n) an oder nutzen Sie einen Asterisk *, um alle Da­ten­sät­ze in der Tabelle aus­zu­wäh­len.
  • FROM: Legt fest, in welcher Tabelle Sie Spalten und Da­ten­sät­ze prüfen möchten.

Mit weiteren op­tio­na­len Klauseln und Ope­ra­to­ren können Sie die Aus­ga­be­er­geb­nis­se prä­zi­sie­ren:

  • WHERE: Mit der Klausel SQL WHERE legen Sie Be­din­gun­gen fest, die relevante Da­ten­sät­ze erfüllen müssen. Ir­rele­van­te Er­geb­nis­se werden aus­ge­schlos­sen.
  • ORDER BY: Mit dem Befehl SQL ORDER BY und den An­wei­sun­gen ASC oder DESC legen Sie fest, ob Sie die Er­geb­nis­se in auf- oder ab­stei­gen­der Rei­hen­fol­ge sortieren möchten.

Für diese An­wen­dun­gen eignet sich der SELECT TOP-Operator

Grund­sätz­lich eignet sich SQL SELECT TOP, um Daten zu ver­glei­chen, zu ana­ly­sie­ren oder nach Größen und Mengen zu filtern. Prak­ti­sche An­wen­dungs­fäl­le aus ver­schie­de­nen Branchen umfassen unter anderem:

  • Auswahl an Kundinnen und Kunden mit höchster Anzahl an Be­stel­lun­gen abrufen
  • Die ersten zehn Teams mit den er­folg­reichs­ten Mar­ke­ting­kam­pa­gnen filtern
  • Die ersten 50 größten Trans­ak­tio­nen anzeigen, um ver­däch­ti­ge Fi­nanz­be­we­gun­gen zu prüfen
  • Die zehn Websites mit den meisten Zugriffen in einem Monat anzeigen
  • Viel­ver­spre­chen­de Kundinnen und Kunden anhand von de­mo­gra­fi­schen, geo­gra­fi­schen und fi­nan­zi­el­len Daten ana­ly­sie­ren
  • La­ger­prü­fung durch Abrufen der zehn Produkte mit nied­rigs­tem La­ger­be­stand
  • Kauf­ver­hal­ten anhand der am meisten be­stell­ten oder an­ge­se­he­nen Produkte prüfen
  • Ri­si­ko­fak­to­ren bei Pa­ti­en­tin­nen und Patienten anhand re­le­van­ter Test­ergeb­nis­se, Symptome oder Vor­er­kran­kun­gen bestimmen
  • Lie­fe­ran­ten mit den kürzesten Lie­fer­zei­ten oder Lie­fer­rou­ten filtern
Tipp

Entdecken Sie in­di­vi­du­el­le Server- und Hosting-Angebote für Ihre Web-Projekte und Da­ten­ban­ken mit SQL-Server-Hosting von IONOS. Verlassen Sie sich auf Da­ten­schutz und Da­ten­si­cher­heit nach deutschen Standards.

vServer / VPS
VPS un­schlag­bar günstig auf Dell En­ter­pri­se Servern
  • 1 Gbit/s, un­be­grenzt Traffic & mehr Cores
  • Min­des­tens 99,99% Ver­füg­bar­keit & ISO-zer­ti­fi­zier­te Re­chen­zen­tren
  • Aus­ge­zeich­ne­ter 24/7 Premium-Support mit per­sön­li­chem Berater

Prak­ti­sche Beispiele für SQL SELECT TOP

Um zu ver­an­schau­li­chen wie SQL SELECT TOP funk­tio­niert, erklären wir Ihnen die Anweisung an zwei prak­ti­schen An­wen­dungs­bei­spie­len.

Die letzten zehn Be­stel­lun­gen anzeigen

Sie möchten in einer Tabelle „Be­stel­lun­gen“ nur die aktuellen zehn Be­stel­lun­gen anzeigen lassen. Gehen Sie wie folgt vor:

SELECT  TOP  10  *
FROM  Bestellungen
ORDER BY  Bestelldatum DESC
sql

Mit Zusätzen wie ORDER BY können Sie die Er­geb­nis­se nach möglichen Pa­ra­me­tern wie Be­stell­men­ge, Preis oder anderen Merkmalen sortieren.

Kundinnen und Kunden mit den meisten Be­stel­lun­gen

Sie möchten in einer Tabelle „Be­stel­lun­gen“ nur die ersten zehn Kunden mit den meisten Be­stel­lun­gen abrufen. Gehen Sie wie folgt vor:

SELECT TOP 10 Kundenname, KundenId, COUNT(*) AS Gesamtbestellmenge
FROM Bestellungen
GROUP BY Kundenname, KundenId
ORDER BY Gesamtbestellmenge DESC
sql

Mit der Funktion COUNT zählen Sie alle Be­stel­lun­gen von Kundinnen und Kunden mit zu­ge­hö­ri­gem Namen und Kunden-ID zusammen, um darauf basierend häufige Be­stel­lun­gen zu­zu­ord­nen.

Al­ter­na­ti­ven zu SQL SELECT TOP

Je nach System, das Sie für Ihre Da­ten­ban­ken verwenden, kann es eine al­ter­na­ti­ve Anweisung für die Ein­gren­zung der Er­geb­nis­se erfordern. Prüfen Sie daher, ob Ihr Da­ten­bank­sys­tem SQL SELECT TOP oder eine andere Funktion un­ter­stützt. Zur besseren Übersicht finden Sie eine Auf­lis­tung von SQL SELECT TOP und der Al­ter­na­ti­ven nach Da­ten­bank­ma­nage­ment­sys­tem (DMS) un­ter­schie­den:

SQL-Funktion DMS Funktion
SELECT TOP SQL Server Begrenzt Er­geb­nis­se auf n
LIMIT MySQL Be­schränkt Er­geb­nis­se auf n
ROWNUM oder ROWS Oracle Legt die Anzahl der Er­geb­nis­zei­len fest
OFFSET + FETCH Oracle, MySQL Ergänzen die ORDER BY-Klausel und legen die Anzahl der Da­ten­sät­ze in Er­geb­nis­sen fest
FETCH FIRST n ROWS ONLY Oracle Begrenzt die Anzahl der Er­geb­nis­zei­len auf n
Zum Hauptmenü