ÎncepețiÎncepe gratuit

Folosirea clauzei FILTER pentru a crea un tabel pivot

În exercițiul anterior, ai scris o interogare care oferea informații despre numărul de amenzi de parcare (identificate prin codul numeric) emise de fiecare dintre cele patru agenții. Rezultatele conțineau toate informațiile dorite, însă erau prezentate într-un format în care fiecare violation_code apărea de până la patru ori (câte o dată pentru fiecare issuing_agency selectată). O reprezentare mai compactă a acelorași date poate fi obținută prin crearea unui tabel pivot.

În acest exercițiu, vei scrie o interogare care folosește clauza FILTER pentru a produce rezultate în format de tabel pivot. Această prezentare îmbunătățită a datelor poate fi utilizată mai ușor în raportul privind amenzile de parcare emise de fiecare dintre cele patru agenții de interes.

Acest exercițiu face parte din cursul

Curățarea datelor în baze de date PostgreSQL

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește coloana Police ca numărul de înregistrări pentru fiecare violation_code cu valoarea P pentru issuing_agency.
  • Definește coloana Sanitation ca numărul de înregistrări pentru fiecare violation_code cu valoarea S pentru issuing_agency.
  • Definește coloana Parks ca numărul de înregistrări pentru fiecare violation_code cu valoarea K pentru issuing_agency.
  • Definește coloana Transportation ca numărul de înregistrări pentru fiecare violation_code cu valoarea V pentru issuing_agency.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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
Editează și rulează codul