mssql : selectTop10*에서 [table] OrderByNewid ()
입장:
코드 사본은 다음과 같습니다.
'rs.mov를 사용합니다
'무작위 항목 10 개를 가져 오면
n = 10
'먼저 총 레코드 수가 10 미만인지 여부를 결정해야합니다. 10 미만인 경우 ifn> 10rs.recordCountThenn = rs.recordCountCount가 있습니까?
Dimrannum
fori = 1ton
randomize ()
rannum = int (rs.recordCount*rnd) +1 '임의의 숫자를 생성합니다
rs.moverannum '커서를 임의의 숫자 위치로 옮깁니다
response.writei & "-"& rs ( "title") & "<br/>"출력 컨텐츠
Rs.Move-Rannum
다음
'...
이것으로 충분합니다. 물론, 이런 식으로 중복 레코드를 얻을 수 있습니다. 그런 다음 랜덤 숫자를 생성하는 문장을 변경하고 생성 된 랜덤 숫자를 저장하는 변수를 선언하고 먼저 새로운 랜덤을 생성 할 때 생성되었는지 여부를 결정합니다. 그것이 생성되면 재생됩니다. 이것은 비교적 간단합니다. 악기 등으로 할 수 있습니다. ~
이것이 아이디어입니다. 다른 사람들을 직접 시도하십시오. 반복적으로 읽지 않는 또 다른 방법은 하나의 임의 숫자 만 생성 한 다음 난수를 따라 N 레코드를 읽는 것입니다. 물론, 당신은 또한 좋은 판단을 써야합니다. 임의의 숫자는 총 레코드 수보다 작아야합니다. 레코드 수를 읽어야합니다.
코드 사본은 다음과 같습니다.
'...
Dimn, Rannum
n = 10
randomize ()
rannum = rs.recordcount-n
ifrannum <1thenrannum = 1
rannum = int (rannum*rnd) +1
Rs.moverannum
fori = 1to10
response.writei & "-"& rs ( "title") & "<br/>"출력 컨텐츠
rs.movenext '옆에 읽으십시오
다음
'...
반복하지 않고 난수를 생성하고 판단하는 간단한 기능을 작성하는 것이 좋습니다.