Porcentagem do Total
Parte da seção Além do Básico do Journey de SQL da Coddy. Lição 24 de 27.
A participação de cada linha no total é um clássico das funções de janela: divida o valor da linha pela SUM da mesma coluna em toda a janela.
SELECT product, revenue,
revenue * 100.0 / SUM(revenue) OVER () AS pct
FROM salesUm OVER () vazio significa “todo o conjunto de resultados”. Adicione um PARTITION BY para calcular a proporção dentro de um grupo (por exemplo, OVER (PARTITION BY category) para a proporção dentro de cada categoria).
Multiplique por 100.0 (não por 100) para que a divisão continue sendo de ponto flutuante. Caso contrário, a divisão inteira do SQLite arredondaria pequenas participações para zero.
Desafio
FácilTabelas e colunas disponíveis:
sales:category,product,revenue
Para cada linha, retorne:
categoryproductrevenuepct_of_category: a participação do produto na receita dentro de sua categoria, arredondada para 1 casa decimal
Use um PARTITION BY na janela. Ordene por category e, em seguida, por pct_of_category em ordem decrescente.
Experimente você mesmo
SELECT category, product, revenue,
-- pct como uma participação dentro da categoria, use PARTITION BY
FROM sales
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Além do Básico
3Agregação Condicional
COUNT com CASESUM com CASETransformando Linhas em ColunasRecapitulação - Fontes de Tráfego6Receitas de Analytics
Top-N por GrupoPorcentagem do TotalTotal AcumuladoMantendo uma Linha por ChaveRecapitulação - Principais ClientesPratique por conta própria: Playground de SQL