SQL for Oracle | ROW NUMBER

Для вывода номера строки в запросе можно использовать оператор OVER (PARTITION BY...) с функцией ROW_NUMBER():

 

Например, пронумеровать записи по сотрудникам, внутри отдела:

 

SELECT ROW_NUMBER()

  OVER (PARTITION BY DEPARTMENT_ID ORDER BY EMPLOYEE_ID) AS EMP_ROW_NUM

 

Отбор записей по ROW_NUMBER:

 

SELECT * FROM (

 SELECT

 ROW_NUMBER() OVER (PARTITION BY '1' ORDER BY …) AS ROW_NUM,

  ) WHERE ROW_NUM > 5000

 



© 2018 | Анна Петросян | pashelp@yandex.ru