Menu
Coddy logo textTech

Zeilen in Spalten umwandeln

Teil des Abschnitts Über die Grundlagen hinaus der SQL-Journey von Coddy. Lektion 14 von 27.

Kombiniere bedingte Aggregation mit GROUP BY, um Zeilen in Spalten umzuwandeln. Das ist die SQL-Version einer Pivot-Tabelle.

Angenommen, sales enthält Zeilen wie (month, product, units). Um eine Zeile pro Monat mit einer Spalte pro Produkt anzuzeigen:

SELECT
    month,
    SUM(CASE WHEN product = 'A' THEN units ELSE 0 END) AS product_a,
    SUM(CASE WHEN product = 'B' THEN units ELSE 0 END) AS product_b
FROM sales
GROUP BY month

Der GROUP BY-Bucket, den jedes SUM(CASE …) sieht, sind die Zeilen für einen Monat; das CASE wählt den Ausschnitt für ein Produkt aus.

challenge icon

Aufgabe

Einfach

Verfügbare Tabellen und Spalten:

  • sales: month, product, units

Pivotieren Sie die Daten, sodass jede Zeile einen month mit diesen Spalten darstellt:

  • month
  • apples: gesamte units-Anzahl für das Produkt 'apples' in diesem Monat
  • bananas: entsprechend für 'bananas'
  • cherries: entsprechend für 'cherries'
  • total: gesamte units-Anzahl über alle Produkte in diesem Monat

Geben Sie nur Monate zurück, deren total mindestens 20 beträgt. Sortieren Sie nach month.

Probier es selbst

SELECT month,
       -- ein SUM(CASE ...) pro Produkt, plus Gesamt
FROM sales
GROUP BY month
-- filtere auf Monate mit total >= 20
ORDER BY month
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 Über die Grundlagen hinaus

Übe selbstständig: SQL-Playground