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
Oefeninstructies
- Definieer de kolom
Policeals het aantal rijen voor elkeviolation_codemet eenissuing_agency-waarde vanP. - Definieer de kolom
Sanitationals het aantal rijen voor elkeviolation_codemet eenissuing_agency-waarde vanS. - Definieer de kolom
Parksals het aantal rijen voor elkeviolation_codemet eenissuing_agency-waarde vanK. - Definieer de kolom
Transportationals het aantal rijen voor elkeviolation_codemet eenissuing_agency-waarde vanV.
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