Sélectionner des données pour un tableau croisé
Pour mieux comprendre quelles agences sont responsables des différents types d’infractions de stationnement, vous devez créer un rapport détaillant ces informations. Ce rapport portera sur quatre agences émettrices : Police Department (P), Department of Sanitation (S), Parks Department (K) et Department of Transportation (V). Tous les enregistrements nécessaires à la création de ce rapport se trouvent dans la table parking_violations. Un INTEGER violation_code et un CHAR issuing_agency sont enregistrés pour chaque parking_violation.
Dans cet exercice, vous allez écrire une requête SELECT qui fournit les données sous-jacentes de votre rapport : le code d’infraction de stationnement, le code de l’agence émettrice et le nombre total d’enregistrements pour chaque paire de valeurs.
Cet exercice fait partie du cours
Nettoyer des données dans des bases PostgreSQL
Instructions
- Incluez
violation_codeetissuing_agencydans la listeSELECTde la requête. - Pour chaque paire
violation_codeetissuing_agency, incluez dans la listeSELECTle nombre d’enregistrements contenant cette paire. - Restreignez les résultats aux agences d’intérêt sur la base de leur code à un caractère (
P,S,K,V).
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
SELECT
-- Include the violation code in results
___,
-- Include the issuing agency in results
___,
-- Number of records with violation code/issuing agency
___(___)
FROM
parking_violation
WHERE
-- Restrict the results to the agencies of interest
___ IN (___, ___, ___, ___)
GROUP BY
-- Define GROUP BY columns to ensure correct pair count
___, ___
ORDER BY
violation_code, issuing_agency;