Comece agoraComece grátis

Usando FILTER para criar uma tabela dinâmica

No exercício anterior, você escreveu uma consulta que trazia informações sobre a quantidade de infrações de estacionamento (pelo seu código numérico) emitidas por cada um de quatro órgãos. Os resultados continham todas as informações desejadas, mas eram apresentados em um formato que exibia cada violation_code até quatro vezes (para cada issuing_agency selecionada). Uma representação mais compacta dos mesmos dados pode ser obtida com a criação de uma tabela dinâmica.

Neste exercício, você vai escrever uma consulta usando a cláusula FILTER para produzir resultados no formato de tabela dinâmica. Essa apresentação aprimorada dos dados pode ser usada com mais facilidade no relatório de infrações de estacionamento emitidas por cada um dos quatro órgãos de interesse.

Este exercicio faz parte do curso

Limpeza de dados em bancos de dados PostgreSQL

Ver curso

Instruções do exercicio

  • Defina a coluna Police como o número de registros de cada violation_code com issuing_agency igual a P.
  • Defina a coluna Sanitation como o número de registros de cada violation_code com issuing_agency igual a S.
  • Defina a coluna Parks como o número de registros de cada violation_code com issuing_agency igual a K.
  • Defina a coluna Transportation como o número de registros de cada violation_code com issuing_agency igual a V.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

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 e Executar Código