Leandro Sacramento de Paula
tecnologia | big data | business intelligence | banco de dados
Oracle - Números Sequenciais com OVER
Números sequenciais em ordem crescente de first_name:

Números sequenciais para cada agrupamento de department_id em ordem crescente de employee_id:

Mostrar registros que estão entre determinadas linhas, no exemplo abaixo, entre as linhas 51 e 100:

OBS: a cláusula OVER funciona da mesma forma no Oracle e SQL Server
SELECT
ROW_NUMBER() OVER (ORDER BY e.first_name) AS sequencia,
e.employee_id,
e.first_name
FROM hr.employees e
ORDER BY e.first_name;

Números sequenciais para cada agrupamento de department_id em ordem crescente de employee_id:
SELECT
e.department_id,
e.last_name,
e.employee_id,
ROW_NUMBER() OVER (PARTITION BY e.department_id ORDER BY e.employee_id) AS emp_id
FROM hr.employees e
ORDER BY e.department_id,
e.employee_id;

Mostrar registros que estão entre determinadas linhas, no exemplo abaixo, entre as linhas 51 e 100:
SELECT r, last_name
FROM (SELECT last_name, ROW_NUMBER() OVER (ORDER BY last_name) R
FROM hr.employees)
WHERE R BETWEEN 51 and 100;

OBS: a cláusula OVER funciona da mesma forma no Oracle e SQL Server
Data publicação: 00:54 06/01/2015

Olá jovem Padawan, seja bem vindo! Este site foi criado com o intuito de compartilhar um pouco de conhecimento de Tecnologia da Informação, Big Data, Banco de Dados e Business Intelligence.
Tags das Publicações
"Se você vem da cidade ou do campo, seu sucesso será determinado pela sua própria confiança e coragem". (Michelle Obama)