Pivot Table (ou Crosstab) é uma análise que resulta na inversão de linhas por colunas em uma consulta SQL. Funciona de forma semelhante a uma matriz inversa e seu uso resume uma série de registos em uma tabela mais fácil de ser interpretada, por exemplo:
![]() |
Figura 1 - Conjunto de dados |
Digamos que a partir do conjunto de dados da Figura 1 seja necessário totalizar a quantidade de acidentes por sexo para cada bairro. O resultado pode ser visto na Figura 2.
![]() |
Figura 2 - Exemplo de Pivot Table |
Utilizando a função de agregação SUM() em conjunto com a expressão CASE obtemos o resultado da Pivot Table:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT bairro, | |
sum(CASE WHEN sexo ='MASCULINO' THEN 1 ELSE 0 END) AS total_homens, | |
sum(CASE WHEN sexo ='FEMININO' THEN 1 ELSE 0 END) AS total_mulheres | |
FROM acidentes | |
GROUP BY bairro | |
ORDER BY total_homens DESC, total_mulheres DESC; |
Nenhum comentário:
Postar um comentário