Kom igångKom igång gratis

Skapa en pivottabell med FILTER

I föregående övning skrev du en fråga som visade antalet parkeringsöverträdelser (med numerisk kod) utfärdade av var och en av fyra myndigheter. Resultaten innehöll all önskad information, men presenterades i ett format där varje violation_code kunde visas upp till fyra gånger – en gång per vald issuing_agency. En mer kompakt representation av samma data kan uppnås genom att skapa en pivottabell.

I den här övningen skriver du en fråga med FILTER-satsen för att presentera resultaten i pivottabellformat. Den förbättrade datapresentationen gör det enklare att använda informationen i en rapport över parkeringsöverträdelser utfärdade av de fyra berörda myndigheterna.

Den här övningen är en del av kursen

Datarensning i PostgreSQL-databaser

Visa kurs

Övningsinstruktioner

  • Definiera kolumnen Police som antalet poster för varje violation_code där issuing_agency har värdet P.
  • Definiera kolumnen Sanitation som antalet poster för varje violation_code där issuing_agency har värdet S.
  • Definiera kolumnen Parks som antalet poster för varje violation_code där issuing_agency har värdet K.
  • Definiera kolumnen Transportation som antalet poster för varje violation_code där issuing_agency har värdet V.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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
Redigera och kör kod