Začněte nyníZačněte zdarma

Vytvoření kontingenční tabulky pomocí FILTER

V předchozím cvičení jsi napsal/a dotaz, který zobrazoval počty parkovacích přestupků (podle jejich číselného kódu) vydaných každou ze čtyř agentur. Výsledky obsahovaly všechny potřebné informace, ale byly prezentovány ve formátu, kde se každý violation_code opakoval až čtyřikrát (pro každou vybranou issuing_agency). Kompaktnější reprezentaci stejných dat lze dosáhnout vytvořením kontingenční tabulky.

V tomto cvičení napíšeš dotaz s využitím klauzule FILTER, který vrátí výsledky ve formátu kontingenční tabulky. Toto přehlednější zobrazení dat pak snadno využiješ v přehledu parkovacích přestupků vydaných každou ze čtyř sledovaných agentur.

Toto cvičení je součástí kurzu

Cleaning Data in PostgreSQL Databases

Zobrazit kurz

Pokyny k cvičení

  • Definuj sloupec Police jako počet záznamů pro každý violation_code s hodnotou issuing_agency rovnou P.
  • Definuj sloupec Sanitation jako počet záznamů pro každý violation_code s hodnotou issuing_agency rovnou S.
  • Definuj sloupec Parks jako počet záznamů pro každý violation_code s hodnotou issuing_agency rovnou K.
  • Definuj sloupec Transportation jako počet záznamů pro každý violation_code s hodnotou issuing_agency rovnou V.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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
Upravit a spustit kód