Вниз
Скачать: 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
8-1109
Сергей С
2002-02-25 12:15
2002.07.01
DirectShow


1-983
Fly`
2002-06-17 15:09
2002.07.01
RichEdit - кол-во параграфов.


1-1024
Freezer
2002-06-18 12:44
2002.07.01
Pointe To PChar?


1-1081
pusrg
2002-06-18 15:52
2002.07.01
Создание ресурсной длл


8-1114
JustMan
2002-02-19 23:09
2002.07.01
Маленький, но удаленький вопросник!




   Наверх