![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Случайная выборка из базы данных(компонент TTable) [D5, D6, Paradox]
Anatoliy II © (2003-02-20 13:38:00)Как наиболее эффективно реализовать случайную выборку из базы данных (я использую компонент TTable) в другой набор данных (например, в TQuery или в TTable).
Мой вариант: параметрический запрос в компонент TTable из компонента TQuery.
Ещё вариант(плохой): осуществлять перемещение по набору данных и тут же вставлять в другой набор даных с помощью метода MoveBy(Random(N)) компонента TTable, где N типа integer. Довольно муторно и неЭффективно.
Есть ли какие-нибудь ВАРИАНТЫ решения этого момента ?
Заранее СПАСИБО !
ЮЮ (2003-02-21 04:14:00) [1]Если записей нужно немного то
select * from mytable where id IN (1,33,54,77) /* cформировать в программе */
Создать таблицу IDS (ID Int)
DELETE FROM IDS
<заполнить случайными Id-ами>
select * from mytable where id IN (SELECT ID FROM IDS) /
Johnmen (2003-02-20 13:55:00) [2]Да...Непонятно....В набор данных или в таблицу....
Val (2003-02-20 13:50:00) [3]select * from mytable where id between random(..) and random(..)
random генерится в делфи, если не поддерживается субд, и подставляется в запрос в качестве параметров.
Anatoly Podgoretsky (2003-02-20 13:48:00) [4]В чем задача, что бы такое делать?