LoslegenKostenlos loslegen

Mit FILTER eine Pivot-Tabelle erstellen

In der vorherigen Übung hast du eine Abfrage geschrieben, die Informationen zur Anzahl der ausgestellten Parkverstöße (nach ihrem numerischen Code) pro Behörde lieferte. Die Ergebnisse enthielten alle gewünschten Informationen, wurden aber in einem Format dargestellt, in dem jeder violation_code bis zu viermal (für jede ausgewählte issuing_agency) doppelt angezeigt wurde. Eine kompaktere Darstellung derselben Daten lässt sich durch das Erstellen einer Pivot-Tabelle erreichen.

In dieser Übung schreibst du eine Abfrage mit der FILTER-Klausel, um Ergebnisse im Pivot-Tabellenformat zu erzeugen. Diese bessere Darstellung der Daten lässt sich leichter im Bericht zu den von den vier relevanten Behörden ausgestellten Parkverstößen verwenden.

Diese Übung ist Teil des Kurses

Datenbereinigung in PostgreSQL-Datenbanken

Kurs anzeigen

Anleitung zur Übung

  • Definiere die Spalte Police als die Anzahl der Datensätze für jeden violation_code mit einem issuing_agency-Wert von P.
  • Definiere die Spalte Sanitation als die Anzahl der Datensätze für jeden violation_code mit einem issuing_agency-Wert von S.
  • Definiere die Spalte Parks als die Anzahl der Datensätze für jeden violation_code mit einem issuing_agency-Wert von K.
  • Definiere die Spalte Transportation als die Anzahl der Datensätze für jeden violation_code mit einem issuing_agency-Wert von V.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

SELECT 
	violation_code, 
    -- Define the "Police" column
	COUNT(issuing_agency) FILTER (WHERE issuing_agency = '___') AS "Police",
    -- Define the "Sanitation" column
	COUNT(___) FILTER (WHERE ___ = '___') AS "___",
    -- Define the "Parks" column
	___(___) ___ (WHERE ___ = '___') AS "___",
    -- Define the "Transportation" column
	___(___) ___ (___ ___ = '___') AS "___"
FROM 
	parking_violation 
GROUP BY 
	violation_code
ORDER BY 
	violation_code
Code bearbeiten und ausführen