Вниз
Скачать: 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
6-1121
aaZ
2002-04-20 21:00
2002.07.01
Sockets


3-918
agrig
2002-06-06 19:18
2002.07.01
как с помощью Install Shield создать алиас моей базы в BDE?


7-1219
Aleksey_K
2002-04-04 18:35
2002.07.01
Com порт


1-991
Толик
2002-06-20 12:29
2002.07.01
Пошаговый проход исходников


4-1256
ZZ
2002-05-01 17:53
2002.07.01
Вызов неизвестной заранее функции




   Наверх