Menu
Coddy logo textTech

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:

idtype
132t1
52t2
92t1
154t3
198t1
SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1

Dies nummeriert die Zeilen in aufsteigender Reihenfolge nach der ID jedes Typs:

idtyperow_num
132t12
52t21
92t11
154t31
198t13

Jetzt hat id 132 row_num 2, weil es größer als 92 und kleiner als 198 ist (von allen t1-Typ-Zeilen).

challenge icon

Aufgabe

Einfach

Verfü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 table1

Dies nummeriert Zeilen in aufsteigender Reihenfolge nach id innerhalb jeder type-Gruppe. Jede Partition startet die Nummerierung bei 1 neu.

Probier es selbst

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen