SQL ROW_NUMBER (Português)
Resumo: neste tutorial, você aprenderá como usar o ROW_NUMBER()
para atribuir um número sequencial a cada linha em um conjunto de resultados de consulta.
Visão geral da função SQL ROW_NUMBER ()
O ROW_NUMBER()
é uma função de janela que atribui um número inteiro sequencial para cada linha no conjunto de resultados da consulta.
O seguinte ilustra a sintaxe da função ROW_NUMBER()
:
Nesta sintaxe,
- Primeiro, a cláusula
PARTITION BY
divide o conjunto de resultados retornado deFROM
em partições. A cláusulaPARTITION BY
é opcional. Se você omiti-lo, todo o conjunto de resultados será tratado como uma única partição. - Então, a cláusula
ORDER BY
classifica as linhas em cada partição. ComoROW_NUMBER()
é uma função sensível à ordem, a cláusulaORDER BY
é necessária. - Finalmente, cada linha em cada partição é atribuído a um número inteiro sequencial denominado número de linha. O número da linha é redefinido sempre que o limite da partição é ultrapassado.
Exemplos de SQL ROW_NUMBER ()
Usaremos o employees
e departments
tabelas do banco de dados de amostra para a demonstração:
A) Exemplo de SQL ROW_NUMBER () simples
A instrução a seguir encontra