MSSQL: SELECTTOP10*из [Таблица] orderBynewid ()
ДОСТУП:
Кода -копия выглядит следующим образом:
'Использовать Rs.mov
'Если вы берете 10 случайных предметов
n = 10
'Сначала нам нужно определить, составляет ли общее количество записей менее 10. Если менее 10, сколько там IFN> 10rs.recordCountthenn = Rs.recordCountcount
Dimrannum
fori = 1ton
Рандомизировать ()
rannum = int (rs.recordcount*rnd) +1 'генерирует случайное число
Rs.moverannum 'Переместить курсор в положение случайного числа
response.writei & "-" & rs ("title") & "<br/>" 'Выходной контент
Rs.Move-Rannum
следующий
... ...
Этого достаточно. Конечно, таким образом можно получить дубликаты записей. Затем измените предложение о создании случайных чисел, объявите переменную для хранения случайных чисел, которые были сгенерированы, и сначала определите, была ли она сгенерирована при генерации новых рандов. Если он был сгенерирован, он будет восстановлен. Это относительно просто, вы можете сделать это с помощью инструмента и т. Д. ~
Это идея, попробуйте другие самостоятельно. Еще один способ не читать неоднократно - генерировать только одно случайное число, а затем прочитать N записи после случайного числа. Конечно, вы также должны написать здравый смысл. Случайное число должно быть меньше, чем общее количество записей - количество записей должно быть прочитано.
Кода -копия выглядит следующим образом:
... ...
Димн, Раннум
n = 10
Рандомизировать ()
rannum = rs.recordcount-n
ifrannum <1thenrannum = 1
rannum = int (rannum*rnd) +1
Rs.Moverannum
fori = 1to10
response.writei & "-" & rs ("title") & "<br/>" 'Выходной контент
Rs.movenext 'прочитайте рядом с ним
следующий
... ...
Рекомендуется написать простую функцию, чтобы создать и судить о случайных числах, не повторяя их.