Função ROW_NUMBER
Parte da seção Fundamentos do Journey de SQL da Coddy. Lição 57 de 72.
As funções de janela realizam cálculos em um conjunto de linhas da tabela relacionadas à linha atual. Diferentemente das funções de agregação regulares, as funções de janela não reduzem os resultados a uma única linha.
Elas são particularmente úteis quando você precisa:
- Calcular totais acumulados
- Classificar itens dentro de grupos
- Comparar linhas atuais com linhas anteriores/seguintes
- Analisar tendências ao longo de períodos
Por exemplo, aqui estão alguns exemplos do mundo real de casos de uso das funções de janela:
- Análise de vendas
- Calcule as vendas acumuladas até cada ano (1995, 1997, 1999)
- Encontre os produtos mais vendidos de cada trimestre
- Estatísticas esportivas
- Acompanhe a contagem de medalhas olímpicas ao longo de diferentes anos
- Identifique os atletas líderes em cada período de competição (2000, 2004, 2008)
ROW_NUMBER() é uma das funções de janela mais simples. Ela atribui um número sequencial exclusivo a cada linha no conjunto de resultados. Veja como usá-la:
SELECT column1, column2,
ROW_NUMBER() OVER ([PARTITION BY column] [ORDER BY column]) as row_num
FROM table_name;É obrigatório usar a cláusula OVER com ROW_NUMBER(): ROW_NUMBER() OVER ()
Por exemplo:
SELECT product_name, sale_date,
ROW_NUMBER() OVER () as row_num
FROM sales;Isso adiciona uma coluna row_num que conta de 1 até o número total de linhas.
Observação: a cláusula OVER pode conter instruções de ordenação e particionamento para controlar como a numeração funciona.
Desafio
FácilTabelas e colunas disponíveis:
liquids:id,density
Busque todos os líquidos com densidade superior a 5.677.
Numere o resultado (use a função ROW_NUMBER()) e chame esta coluna de row_num
Experimente você mesmo
-- Numere cada linha do resultado filtrado usando uma função de janela
SELECT id, density, ____ as row_num
FROM liquids
WHERE density > ____Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Mais palavras-chave
A palavra-chave INA palavra-chave BETWEENA palavra-chave LIKEA palavra-chave ASRecapitulação - Modelos de celulares2Condições
Noções básicas de condiçõesA palavra-chave ANDA palavra-chave ORA palavra-chave NOTCombinação de várias condiçõesParêntesesBooleanos8Estatística
Agregação integrada – Parte 1Agregação integrada – Parte 2Agrupamento – Parte 1Agrupamento – Parte 2Subconsultas – Parte 1Subconsultas – Parte 2Recapitulação – Loja Total GainRecapitulação – Loja de ScootersRecapitulação – Cafeteria11Funções de janela parte 1
Função ROW_NUMBERCritério ORDER BYCritério PARTITION BYPARTITION e ORDERFunções LEAD e LAGRevisão - LEAD e LAGRevisão - ImagensRevisão - Caixas3Formato de retorno específico
Valores nulosOrdenar resultados - Parte 1Ordenar resultados - Parte 2Recapitulação - Empresa de segurança cibernéticaLimitar o número de registrosRecapitulação - Fábrica de veículos6Desafios introdutórios
Revisão - Eleição parlamentarRevisão - Prisão criminal pela políciaRevisão - Recipiente de bebidas de barRevisão - Projetar novas colunasPratique por conta própria: Playground de SQL