Aan de slagGa gratis aan de slag

Een draaitabel maken met FILTER

In de vorige oefening schreef je een query die informatie gaf over het aantal parkeerboetes (op basis van hun numerieke code) dat is uitgeschreven door elk van vier instanties. De resultaten bevatten alle gewenste informatie, maar werden gepresenteerd in een formaat waarin elke violation_code tot vier keer werd herhaald (voor elke geselecteerde issuing_agency). Een compacter weergave van dezelfde data kun je maken met een draaitabel.

In deze oefening schrijf je een query met de FILTER-clausule om resultaten in een draaitabelformaat te produceren. Deze verbeterde presentatie van de data is makkelijker te gebruiken in het rapport over parkeerboetes die door elk van de vier relevante instanties zijn uitgeschreven.

Deze oefening maakt deel uit van de cursus

Data opschonen in PostgreSQL-databases

Cursus bekijken

Oefeninstructies

  • Definieer de kolom Police als het aantal rijen voor elke violation_code met een issuing_agency-waarde van P.
  • Definieer de kolom Sanitation als het aantal rijen voor elke violation_code met een issuing_agency-waarde van S.
  • Definieer de kolom Parks als het aantal rijen voor elke violation_code met een issuing_agency-waarde van K.
  • Definieer de kolom Transportation als het aantal rijen voor elke violation_code met een issuing_agency-waarde van V.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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 bewerken en uitvoeren