PARTITION & ORDER
Teil des Abschnitts Grundlagen der SQL-Journey von Coddy — Lektion 60 von 72.
Wir können auch PARTITION BY mit ORDER BY kombinieren. Zum Beispiel betrachten wir die folgende table1:
| 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 table1Dies nummeriert die Zeilen in aufsteigender Reihenfolge nach der ID jedes Typs:
| id | type | row_num |
| 132 | t1 | 2 |
| 52 | t2 | 1 |
| 92 | t1 | 1 |
| 154 | t3 | 1 |
| 198 | t1 | 3 |
Jetzt hat id 132 row_num 2, weil es größer als 92 und kleiner als 198 ist (von allen t1-Typ-Zeilen).
Aufgabe
EinfachVerfügbare Tabellen und Spalten:
<strong>doors</strong>:<strong>id</strong>,<strong>publication_year</strong><strong>doors_specs</strong>:<strong>id</strong>,<strong>country</strong>,<strong>color</strong>
Schreiben Sie eine SQL-Abfrage, um die Sequenz der Türfarben innerhalb jedes Landes zu analysieren, geordnet nach Veröffentlichungsjahr. Für jede Türspezifikation zeigen Sie:
- Das Land
- Die Farbe
- Das Veröffentlichungsjahr
- Eine Zahl, die die Reihenfolge der Farben innerhalb jedes Landes basierend auf dem Veröffentlichungsjahr darstellt. Nennen Sie diese Spalte
color_sequence_number
Spickzettel
Sie können PARTITION BY mit ORDER BY kombinieren, um Zeilen innerhalb jeder Partition in einer bestimmten Reihenfolge zu nummerieren:
SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1Dies nummeriert Zeilen in aufsteigender Reihenfolge nach id innerhalb jeder type-Gruppe. Jede Partition startet die Nummerierung bei 1 neu.
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
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function8Statistics
Built-In Aggregate Part 1Built-In Aggregate Part 2Grouping Part 1Grouping Part 2Subqueries Part 1Subqueries Part 2Recap - Total Gain ShopRecap - Scooter ShopRecap - Coffee Shop11Window Functions part 1
ROW_NUMBER functionORDER BY criterionPARTITION BY criterionPARTITION & ORDERLEAD & LAG FunctionsRecap - LEAD & LAGRecap - PicturesRecap - Boxes3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columns