MSSQL: SelectTop10*de [Tabela] OrderByNewId ()
ACESSO:
A cópia do código é a seguinte:
'Para usar o Rs.Mov
'Se você tomar 10 itens aleatórios
n = 10
'Primeiro, precisamos determinar se o número total de registros é menor que 10. Se menor que 10, quantos existem IFN> 10Rs.RecordCountThenn = Rs.RecordCountCount
DIMRANNUM
fori = 1ton
Randomize ()
rannum = int (rs.recordCount*rnd) +1 'gera um número aleatório
Rs.MoveRannum 'Mova o cursor para a posição do número aleatório
Response.writei & "-" & rs ("title") e "<br/>" 'de saída de saída
rs.move-rannum
próximo
'...
Isso é suficiente. Obviamente, é possível obter registros duplicados dessa maneira. Em seguida, altere a sentença de geração de números aleatórios, declare uma variável para armazenar os números aleatórios que foram gerados e primeiro determine se foi gerado ao gerar novos randoms. Se tiver sido gerado, será regenerado. Isso é relativamente simples, você pode fazer isso com instrum, etc. ~
Esta é a ideia, experimente os outros. Outra maneira de não ler repetidamente é gerar apenas um número aleatório e, em seguida, ler os registros N após o número aleatório. Obviamente, você também deve escrever um bom julgamento. O número aleatório deve ser menor que o número total de registros - o número de registros deve ser lido.
A cópia do código é a seguinte:
'...
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") e "<br/>" 'de saída de saída
rs.movenext 'Leia ao lado
próximo
'...
Recomenda -se escrever uma função simples para gerar e julgar os números aleatórios sem repeti -los.