powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Не могу сообразить.
4 сообщений из 4, страница 1 из 1
Не могу сообразить.
    #32012669
maski_v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет разум.
Вот такая проблема -> у меня стоит оракл 8.0.5.
Я делаю выборку из таблицы например
select field1, field2 from table1
order by field3.
Теперь мне надо пронумеровать сделанную выборку.
такой вариант не проходит
select rownum, a.* From (select field1, field2 from table1
order by field3).
Кроме этого ничего в голову не приходит. Может какой другой вариант имеется?


И вторая проблема
Пусть имеется таблица из десяти записей.
Есть поле для номера каждой записи.
Как одной командой апдейт пронумеровать последовательно эти записи.
...
Рейтинг: 0 / 0
Не могу сообразить.
    #32012710
ADMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для того чтобы пронумировать в запросе
select row_number() over (order by sort_filed) as NN, t.* from tbl_sudadupadata t
row_number() - эт аналитическая функция и в 8.0.5 её нету, они появились вроде только с 8.1.6.

А чтобы проабдейтить одним запросом - я когда то пробывал, но у меня нифига не получилось. (вернее получалось но эт был полный изврат) , просто напиши процедуру которая открывает курсор и в циле их нумерует.

Да кстати в row_number() есть какой то глюк, я вопрос чють раньше задавал, можешь почитать.
...
Рейтинг: 0 / 0
Не могу сообразить.
    #32013447
Victor Ignatsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может в update обратиться за значением к объекту Sequence, тоже можно попробовать и в SELECT
...
Рейтинг: 0 / 0
Не могу сообразить.
    #32013900
mmoroz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если тебе нужно упорядочить по возрастанию (1,2,3) и значение полей по которым ты сортируешь уникальны то попробуй следующую штуку:
select rownum, field1
from
(select distinct field1
from table1)

На 8.0.5 работает, а если используешь 8.1.х, то во вложенный запрос вместо distinct вставляй order by
select rownum, field1
from
(select field1
from table1
order by field1)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Не могу сообразить.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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