![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
[Oracle] Random value [D7]
McSimm2 © (2003-06-30 10:00:00)Если запрос возвращает выборку, например в 10 записей есть какая нибудь команда типа "random", что бы мне вернулась не 10 а только 1 строка - случайная/любая из этих 10 ???
Romkin (2003-06-30 12:10:00) [1]ДА, наверно, что-то вроде ХП. Или, если есть skip, генерируешь случайное число и в skip указываешь его, сколько строк пропустить.
Если заранее количество строк неизвестно, фетчишь их поочередно, первую строку выбираешь всегда, вторую - с вероятностью 1/2, третью - с 1/3 и тд, n строку - с вероятностью 1/n (заменяешь ранее выбранную). После того, как записи кончаться, у тебя останется одна из них, случайно выбранная
roottim (2003-06-30 11:15:00) [2]2petr_v_a © (30.06.03 11:10)
я тут неправ... не сделать без хп.. или клиентского кода
roottim (2003-06-30 11:12:00) [3]есть rownum
но случайность в любой бд с помощью скл не сделать
petr_v_a (2003-06-30 11:10:00) [4]пакет dbms_random и псевдоколонка rownum
Rol (2003-06-30 10:53:00) [5]first, top... хотя, может быть, в Оракле это не работает.