![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ограниченное число записей - вперемешку [D5, MSSQL]
Дмитрий Баранов © (2002-06-06 15:55:00)Вот такая задача... Что-нить вроде select top 100, но чтобы при этом рекордсет всякий раз был разный (нужна статистическая достоверность случайности выборки). Как-нить это можно сделать на сервере?
Дмитрий Баранов (2002-06-06 16:29:00) [1]Ой спасиба!
Delirium (2002-06-06 16:25:00) [2]А вот пример без повторений
update test set Val=null
while exists(select * from test where Val is null)
update test set Val=Convert(char(16),Convert(varbinary,NewID()))
from (select top 1 id from test where Val is null) tmp
where test.id=tmp.id
select top 10 * from test order by val
Delirium (2002-06-06 16:13:00) [3]Знакомая таблица Test(id int, Pid int) : id - ключевое поле,
Pid - Каждый раз заполняется случайными значениями (с повторениями)
update test set Pid=null
while exists(select * from test where Pid is null)
update test set Pid=Convert(int,Round(Rand()*10000,0))
from (select top 1 id from test where Pid is null) tmp
where test.id=tmp.id
select * from test