Select con ordinamento random

venerdì 12 settembre 2003 - 09.40

trinity Profilo | Guru

ragazzi devo fare una select e i campi che questa select deve restituirmi devono essere presi in maniera random dal database, eventualmente per un tipo tabella.
Mi potete far vedere un esempio di select?

Ciao a tutti.

Brainkiller Profilo | Guru

Devi costruirti manualmente la query.
Se fai una Select * i campi vengono presi nell'ordine.
Se ti riferisci ai record se non usi la clausola ORDER BY vengono presi a caso e possono essere ordinati ma è uno dei casi possibili.
Per prendere i campi in ordine casuale devi costruirti un algoritmo e costruire la stringa ogni volta:

select campo1,campo2,campo3 from tabella
select campo2,campo3,campo1 from tabella

ecc.
Ciao
David

trinity Profilo | Guru

Forse ho sbagliato io a scrivere, mi spiego meglio, la tabella in questione prima di tutto permette la visualizzazione dei banner su un sito internet, quindi esempio questa tabella è composta da 5 record con diverse immagini che rappresentano i banner, io con una select e dei parametri che gli passo io, mi deve prendere in maniera casuale uno di questi 5 record e variare la ricerca ogni volta che aggiorno la pagina html.
Esempio un volta mi prende il record 5 poi il 2 poi il 4 poi l'1 e così via in maniera casuale.

purtroppo il RAND di sql non è sicuro e stabile, così ho letto sull'help di sql quindi non so come fare.
Mi puoi dare una dritta?

ciao e grazie

Brainkiller Profilo | Guru

La strada che hai scelto è corretta.
Puoi usare RAND in T-SQL oppure la classe Random del .NET Framework.
Ti costruisci un intero per esempio compreso fra 1 e 5 e poi fai una Select in cui metti la clausola Where e il numero casuale che è stato generato, e così vedi casualmente apparire i banner.
Semplice no?
Ciao

David

trinity Profilo | Guru

mi potresti far vedere la classe random del .net framework?

ciao

Brainkiller Profilo | Guru

Trinity,
te lo chiedo un'altra volta ma tu fai il programmatore o che altro?
Se no scusa vengo lì e te lo faccio io il programma no?
Apri la guida del Framework guarda la classe Random e studiala.

Ciao
David
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5