Вниз
Скачать: CL | DM;

Ограниченное число записей - вперемешку   Найти похожие ветки 

 
Дмитрий Баранов ©   (2002-06-06 15:55) [0]

Вот такая задача... Что-нить вроде select top 100, но чтобы при этом рекордсет всякий раз был разный (нужна статистическая достоверность случайности выборки). Как-нить это можно сделать на сервере?


 
Delirium ©   (2002-06-06 16:13) [1]

Знакомая таблица 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


 
Delirium ©   (2002-06-06 16:25) [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


 
Дмитрий Баранов ©   (2002-06-06 16:29) [3]

Ой спасиба!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.008 c
7-1224
gklbery
2002-04-04 13:27
2002.07.01
потеря типов параметров запросов при копировании файлов


3-862
Akhmadey
2002-06-06 15:30
2002.07.01
Проблема с lookup-полями


14-1199
Anatoly Podgoretsky
2002-05-31 20:39
2002.07.01
BASM


1-934
Arsenik
2002-06-15 15:35
2002.07.01
Как в процедуру WinExec можно прописовать String-вые переменные


3-895
Termik
2002-06-07 12:08
2002.07.01
Как внести данные в таблицу внутри EXECUTE IMMEDIATE ?




   Наверх