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

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

Случайная выборка из базы данных(компонент 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]

В чем задача, что бы такое делать?


Наверх

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