ComenzarEmpieza gratis

Usar FILTER para crear una tabla dinámica

En el ejercicio anterior, escribiste una consulta que proporcionaba información sobre el número de multas de estacionamiento (por su código numérico) emitidas por cada una de cuatro agencias. Los resultados contenían toda la información deseada, pero se presentaban en un formato que incluía una visualización duplicada de cada violation_code hasta cuatro veces (por cada issuing_agency seleccionada) en los resultados. Se puede lograr una representación más compacta de los mismos datos creando una tabla dinámica.

En este ejercicio, escribirás una consulta utilizando la cláusula FILTER para producir resultados en formato de tabla dinámica. Esta presentación mejorada de los datos se puede utilizar más fácilmente en el informe de multas de estacionamiento emitidas por cada una de las cuatro agencias de interés.

Este ejercicio forma parte del curso

Limpieza de datos en bases de datos PostgreSQL

Ver curso

Instrucciones del ejercicio

  • Define la columna Police como el número de registros para cada violation_code con un valor de issuing_agency igual a P.
  • Define la columna Sanitation como el número de registros para cada violation_code con un valor de issuing_agency igual a S.
  • Define la columna Parks como el número de registros para cada violation_code con un valor de issuing_agency igual a K.
  • Define la columna Transportation como el número de registros para cada violation_code con un valor de issuing_agency igual a V.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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
Editar y ejecutar código