Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

SQL Grundkurs 1: Die Sprache erlernen

TOP-Auswertungen

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Die größten drei, die langsamsten fünf, die teuersten zehn - verwenden Sie die Sortierung, um ein Ranking zu erstellen und danach zu filtern. Dies nennt man eine TOP-Auswertung und eine Sortierung ist dabei die Basis für eine Filterung.

Transkript

In diesem Video zeige ich Ihnen, wie Sie die Sortierung als Basis für eine Filterung verwenden können. Dabei geht es immer darum, dass Sie irgendein Ranking festlegen. Sie möchten z.B. die teuersten N-Artikel oder die billigsten N-Artikel, oder die 3 jüngsten Mitarbeiter und ähnliches auswerten. D.h. das Filtern passiert nicht aufgrund eines Kriteriums, das für jeden einzelnen Datensatz geprüft wird, sondern aufgrund eines Rankings. Daher benötigen wir die Sortierung. Wenn wir z.B. von unseren Artikeln nur die teuersten 5 anzeigen möchten, dann müssen wir dafür sorgen, dass diese am Beginn der Liste angezeigt werden, D.h. eine entsprechende Sortierung einrichten. In dem Fall müssen wir über die Sortierung achten, dass die 5 teuersten Artikel am Beginn des Ergebnisses angezeigt werden, D.h. wir müssen nach dem Verkaufspreis absteigend sortieren. Nun haben wir die 5 teuersten Artikel hier am Beginn des Ergebnisses. Um nun hier nur diese 5 angezeigt zu bekommen, verwenden wir beim Microsoft SQL-Server die Klausel "TOP", deshalb spricht man von TOP-Auswertungen. D.h. ich schränke das Ergebnis auf diese 5 teuersten ein, indem ich hier ergänze: "TOP 5". Diese TOP-Klausel wird von Oracle nicht unterstützt. Mit Oracle müssen Sie TOP-Auswertungen über Unterabfragen lösen. Bei MySQL, werde ich Ihnen im Anschluss gleich zeigen, können Sie das mittels der Anweisung "Limit" realisieren. Bleiben wir aber vorerst noch beim Microsoft SQL-Server. Ich führe diese Anweisung aus, und damit bekommen wir nur aufgrund des Zusatzes "TOP 5" 5 Zeilen angezeigt. Das sind die genau die 5 teuersten Artikel. Die Sortierung ist also entscheidend. Wenn ich z.B. die 3 ältestgedienten Mitarbeiter anzeigen möchte, dann muss ich wieder über die Sortierung definieren, dass die diejenigen, die schon am längsten in der Firma arbeiten, am Beginn der Liste angezeigt werden. Also "SELECT", "FROM wawi.personal". Ich nehme die Personalnummer, den Nachnamen, den Vornamen sowie das Eintrittsdatum und muss in dem Fall aufsteigend nach dem Eintrittsdatum sortieren, damit die Entsprechenden am Beginn der Liste angezeigt werden. Damit ich aber nur die ersten 3 angezeigt bekomme, ergänze ich hier wiederum die Klausel "TOP", "TOP 3". Und nun habe ich die 3 ältestgedienten Mitarbeiter. Der SQL-Server unterstützt hier aber noch weitere Dinge. Ich kann jetzt z.B. hier auch "ex aequo"-Werte anzeigen. Wenn ich jetzt hier hinter TOP und der Anzahl den Zusatz ergänze "WITH TIES", dann bedeutet das, dass der "ex aequo"-Wert des letzten mit angezeigt wird. Betrachten wir uns das Ergebnis, und wir sehen, dass wir nicht 5, sondern 6 Zeilen angezeigt bekommen, weil es für den letzten Wert einen "ex aequo"-Wert gibt. Über den Zusatz "WITH TIES" werden alle "ex aequo"-Werte, auch wenn es mehr als einer ist, angezeigt. So ist es theoretisch möglich, dass Sie sagen "Top 10" und Sie kriegen über 50 Zeilen zurück. Wenn zufälligerweise alle weiteren denselben Wert in der sortierten Spalte wie die letzte, also in dem Fall die zehnte Zeile aufweisen. Also über den Zusatz "WITH TIES" bekommen Sie "ex aequo"-Werte. Und Sie können zusätzlich die Anzahl auch als Prozentwert eingeben. D.h. ich könnte sagen, nicht TOP 5 absolut, sondern ich ergänze hier "PERCENT" für Prozent, dann errechnet sich das als Prozentsatz der Gesamtzeilen. Wir haben ja in der Artikeltabelle ungefähr 1100 Zeilen. Als Ergebnis bekommen wir hier 56 Zeilen, das entspricht ungefähr gerundet den 5 Prozent. Auch diese Werte könnten wir mit "WITH TIES" mit "ex aequo"-Werten noch kombinieren. Wie können wir so ein Limit bei MySQL verwenden? Die Logik ist dieselbe. Die Auswahl erfolgt aufgrund der Sortierung. D.h. wir müssen auch hier wieder um die 5 teuersten Artikel zu bekommen die Artikel absteigend nach dem Verkaufspreis sortieren: "ORDER BY vkpreis DESC". An die Stelle der TOP-Anweisung tritt bei MySQL der Zusatz "LIMIT". "LIMIT" wird am Ende der Anweisung ergänzt, nach der Sortierung "LIMIT", und setze das Limit auf 5. D.h. die Sortierung "absteigend" bewirkt, dass die 5 teuersten am Beginn zu finden sind, und der Zusatz "LIMIT 5" hört nach der Rückgabe der fünften Zeile auf. D.h. Sie bekommen nur 5 Werte angezeigt. D.h. bei MySQL verwenden Sie auch die Sortierung, um zu definieren, welche Zeilen Sie möchten. Sie müssen trachten, dass die Zeilen, die das Ergebnis bilden, am Anfang der Liste zu sehen sind. Und über den Zusatz "LIMIT" können Sie festlegen, wie viele Zeilen Sie zurückbekommen möchten. Sie haben in diesem Video also gesehen, wie Sie beim Microsoft SQL-Server mittels "TOP" und bei MySQL mittels "LIMIT" Filtern aufgrund der Sortierung realisieren können. Damit haben Sie eine Filterung nach einem gewissen Ranking. Um dasselbe bei Oracle zu implementieren, müssen Sie auf Unterabfragen zurückgreifen. Wie das geht, sehen Sie in einem gesonderten Video.

SQL Grundkurs 1: Die Sprache erlernen

Arbeiten Sie sich in die Grundlagen der Datenbanksprache SQL am Beispiel von Microsoft SQL Server, Oracle und MySQL ein und lassen Sie sich die praktische Nutzung erklären.

14 Std. 40 min (112 Videos)
Tolle Schulung
Michael M.
Herzlichen Dank für diese gut verständliche, informative Schulung.
Hat mir sehr geholfen.
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!