Sélectionner des données pour un tableau croisé
Pour mieux comprendre quelles agences sont responsables des différents types d'infractions de stationnement, on vous a confié la création d'un rapport présentant ces détails. Ce rapport se concentre sur quatre agences émettrices : Police Department (P), Department of Sanitation (S), Parks Department (K) et Department of Transportation (V). Tous les enregistrements nécessaires pour produire ce rapport se trouvent dans la table parking_violations. Un violation_code de type INTEGER et un issuing_agency de type CHAR sont consignés pour chaque parking_violation.
Dans cet exercice, vous allez écrire une requête SELECT qui fournit les données sous-jacentes à 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.
Cette activité fait partie du cours
Nettoyer des données dans des bases de données PostgreSQL
Instructions de l’exercice
- Incluez
violation_codeetissuing_agencydans la listeSELECTde la requête. - Pour chaque paire
violation_codeetissuing_agency, incluez le nombre d'enregistrements contenant la paire dans la listeSELECT. - Limitez les résultats aux agences visées selon leur code à un seul caractère (
P,S,K,V).
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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;