Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

[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... хотя, может быть, в Оракле это не работает.


Наверх

Титульная страница Поиск, карта сайта Написать письмо