Нумерация строк в запросе

Есть таблица Oracle. Нужно последовательно вывести записи вместе с порядковым номером. Нет ничего проще:

Select rownum, pole1,pole2,pole3 from my_table;

Однако если перед выводом нужно записи отсортировать (ORDER BY) по полям, тогда такой требование не проходит, так как Оракл сначала формирует ROWNUM, и лишь потом сортирует записи.

Поэтому будем Oracle обманывать таким образом:

Select rownum, pole1,pole2,pole3 from  
(Select  pole1,pole2,pole3 from my_table order by pole1,pole2,pole3);

Вас заинтересует / Intresting for you:

Oracle и непроцедурный доступ ...
Oracle и непроцедурный доступ ... 7402 просмотров Antoni Tue, 21 Nov 2017, 13:32:50
Отмена сессий в Oracle (ALTER ...
Отмена сессий в Oracle (ALTER ... 10275 просмотров Stepan Ushakov Thu, 01 Nov 2018, 18:04:59
Видеокурс по администрированию...
Видеокурс по администрированию... 10547 просмотров Илья Дергунов Mon, 14 May 2018, 05:08:47
Работа с запросами Approximate...
Работа с запросами Approximate... 1484 просмотров Андрей Васенин Mon, 29 Oct 2018, 06:40:46
Войдите чтобы комментировать

VladStr аватар
VladStr ответил в теме #8118 22 фев 2017 10:57
Ах-ха-ха!! Действительно обманул Oracle! Я столько ломал голову над тем, как это сделать. Большое спасибо за наглядный пример!