PARTITION-BY-Kriterium
Teil des Abschnitts Grundlagen der SQL-Journey von Coddy. Lektion 59 von 72.
Eine weitere Option für die OVER ()-Klausel ist PARTITION BY.
Damit können wir die Zeilen für jede Gruppe separat nummerieren
Zum Beispiel:
| id | type |
| 132 | t1 |
| 52 | t2 |
| 92 | t1 |
| 154 | t3 |
| 198 | t1 |
SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1Dadurch wird eine Spalte erzeugt, die jeden Typ innerhalb seiner eigenen Gruppe nummeriert:
| id | type | row_num |
| 132 | t1 | 1 |
| 52 | t2 | 1 |
| 92 | t1 | 1 |
| 154 | t3 | 1 |
| 198 | t1 | 3 |
id 92 hat row_num 1, weil es die kleinste id in type t1 ist.
Hinweis: ROW_NUMBER() erfordert eine ORDER BY-Klausel innerhalb von OVER(), um zu bestimmen, wie die Zeilen innerhalb jeder Partition nummeriert werden sollen.
Wir können sogar mehrere Spalten innerhalb von PARTITION BY angeben:
ROW_NUMBER() OVER (PARTITION BY type, hue ORDER BY id)Aufgabe
EinfachVerfügbare Tabellen und Spalten:
doors:id,publication_yeardoors_specs:id,country,color
Eine Fabrik baut Türen. Sie muss die Türen für jede Kombination aus country und color nummerieren, deren publication_year kleiner als 2000 ist. Nenne diese Spalte row_num.
Die Türen sollen innerhalb jeder Gruppe in aufsteigender Reihenfolge nach ihrer id nummeriert werden. Türen ohne Spezifikationen sollen ignoriert werden. Sortiere das Endergebnis in aufsteigender Reihenfolge nach der id.
Probier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Weitere Schlüsselwörter
Das IN-SchlüsselwortDas BETWEEN-SchlüsselwortDas LIKE-SchlüsselwortDas AS-SchlüsselwortRückblick – Handymodelle7Datumsangaben
Datumsangaben behandeln – Teil 1Datumsangaben behandeln – Teil 2Datumsangaben behandeln – Teil 32Bedingungen
Grundlagen der BedingungenDas Schlüsselwort ANDDas Schlüsselwort ORDas Schlüsselwort NOTMehrere kombinierte BedingungenKlammernBoolesche Werte5Arithmetische Operationen
Mathematische OperatorenMathematische SpaltenDie Modulo-OperationDie ROUND()-Funktion8Statistik
Integrierte Aggregatfunktionen Teil 1Integrierte Aggregatfunktionen Teil 2Gruppierung Teil 1Gruppierung Teil 2Unterabfragen Teil 1Unterabfragen Teil 2Rückblick – Total Gain ShopRückblick – Scooter ShopRückblick – Coffee Shop11Fensterfunktionen Teil 1
ROW_NUMBER-FunktionORDER-BY-KriteriumPARTITION-BY-KriteriumPARTITION & ORDERLEAD-&-LAG-FunktionenRückblick – LEAD & LAGRückblick – BilderRückblick – Boxen3Spezifisches Rückgabeformat
NULL-WerteErgebnisse sortieren Teil 1Ergebnisse sortieren Teil 2Zusammenfassung - Cyber Security FirmAnzahl der Datensätze begrenzenZusammenfassung - Vehicle Factory6Einführungsaufgaben
Wiederholung – ParlamentswahlWiederholung – Festnahme eines Straftäters durch die PolizeiWiederholung – Getränkebehälter an der BarWiederholung – Neue Spalten erstellenÜbe selbstständig: SQL-Playground