Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Номер строки в результирующем наборе / 15 сообщений из 15, страница 1 из 1
18.01.2021, 10:10
    #40036707
san4es.spb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строки в результирующем наборе
Привет!

Есть запрос с определёнными условиями который даёт несколько строк. Есть заранее известное условное id нужной строки.

Можно ли как-то одним запросом получить порядковый номер конкретной строки в наборе?

Могу конечно получить весь набор и далее перебором программно выяснить порядковый номер, но это, как мне кажется, не гуманно.
...
Рейтинг: 0 / 0
18.01.2021, 10:21
    #40036709
Надфиль
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строки в результирующем наборе
...
Рейтинг: 0 / 0
18.01.2021, 10:33
    #40036712
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строки в результирующем наборе
san4es.spb,

зависит от сортировки, часто rownum хватает

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SQL> ed
Wrote file afiedt.buf

  1* select deptno,rownum  from dept order by 1 desc
SQL> /

    DEPTNO     ROWNUM
---------- ----------
        40          4
        30          3
        20          2
        10          1



авторЕсть заранее известное условное id нужной строки.


мне не понятно что Вы под етим id поразумеваете
не помешал Бы примерчик

.....
stax
...
Рейтинг: 0 / 0
18.01.2021, 10:42
    #40036716
san4es.spb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строки в результирующем наборе
Stax,

я имею ввиду, что у меня есть некий параметр, по которому я могу найти одну нужную мне строку.
...
Рейтинг: 0 / 0
18.01.2021, 10:45
    #40036717
san4es.spb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строки в результирующем наборе
DEPTNO ROWNUM
---------- ----------
40 4
30 3
20 2
10 1




допустим, я знаю что DEPTNO = 30 в нужной мне строке (и это значение уникально).
требуется достать только эту строку или её ROWNUM.
...
Рейтинг: 0 / 0
18.01.2021, 10:54
    #40036722
san4es.spb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строки в результирующем наборе
я сделал

SELECT * FROM (SELECT ID, ROW_NUMBER() OVER (ORDER BY employee_id) AS emp_id FROM *** WHERE ***) WHERE ID = 30

можно ли упростить запрос?
...
Рейтинг: 0 / 0
18.01.2021, 10:55
    #40036723
san4es.spb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строки в результирующем наборе
Надфиль, Спасибо!
...
Рейтинг: 0 / 0
18.01.2021, 11:00
    #40036724
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строки в результирующем наборе
san4es.spb,

А смысл у этого упражнения какой? При добавлении/удалении строк в таблицу, без дополнительных ухищрений и ограничений, гарантии повторяемости номера строки не будет.
...
Рейтинг: 0 / 0
18.01.2021, 11:04
    #40036726
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строки в результирующем наборе
san4es.spb
Stax,

я имею ввиду, что у меня есть некий параметр, по которому я могу найти одну нужную мне строку.

так и ищите по параметру
имхо, так самое правильно, а вот если и по параметру несколько строк ...

.....
stax
...
Рейтинг: 0 / 0
18.01.2021, 11:13
    #40036729
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строки в результирующем наборе
Stax
san4es.spb
Stax,

я имею ввиду, что у меня есть некий параметр, по которому я могу найти одну нужную мне строку.

так и ищите по параметру
имхо, так самое правильно, а вот если и по параметру несколько строк ...

san4es.spb

можно ли упростить запрос?


Код: plsql
1.
SELECT * FROM (SELECT ID FROM *** WHERE ***) WHERE ID = 30


.....
stax
...
Рейтинг: 0 / 0
18.01.2021, 11:13
    #40036730
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строки в результирующем наборе
Stax,

Скорее всего это реализация пейджинга, но лучше дождаться ответа ТС.
...
Рейтинг: 0 / 0
18.01.2021, 12:43
    #40036766
san4es.spb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строки в результирующем наборе
Таблица только накапливается. Порядок строк меняться не будет.

Это не пейджинг, это нюансы документооборота в одном учреждении. зачем и почему им так надо - не моего ума дела.

В принципе мой вариант даёт нужный результат.
...
Рейтинг: 0 / 0
18.01.2021, 13:15
    #40036788
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строки в результирующем наборе
san4es.spb

В принципе мой вариант даёт нужный результат.


если Вы о 22264956

то оптимизатор выбросит row_number, так как поле в дальнейшем не используется

.....
stax
...
Рейтинг: 0 / 0
18.01.2021, 15:46
    #40036835
san4es.spb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строки в результирующем наборе
а что за оптимизатор? где его взять как посмотреть?
...
Рейтинг: 0 / 0
18.01.2021, 15:55
    #40036840
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строки в результирующем наборе
san4es.spb,

первое что гугл нашел

https://docs.oracle.com/cd/E18283_01/server.112/e16638/optimops.htm

.....
stax
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Номер строки в результирующем наборе / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]