Per estrarre un record casuale utilizzando SQL Server, possiamo sfruttare l'apposita funzione rand(), che genera un numero casuale.
SELECT TOP 1 * FROM tabella WHERE ID = (rand() * (SELECT MAX(ID) FROM tabella))
Nel caso in cui ID sia una identity e non ci siano buchi nel database, il discorso è ovviamente molto semplice.
Nel caso di buchi, si può ovviare mettendo come clausala ID >= anzichè ID =, ed ordinando per il campo ID.
In questo modo nel caso in cui alcuni valori non fossero presenti, verrebbe preso il primo valore disponibile.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Utilizzare DPAPI: cifrare dati sensibili
- Recuperare la foto dell'utente nelle Windows Store app
- What's new in Azure Functions and Extensions
- dal tuo PC o smartphone tra poco #aspilive: https://aspit.co/VS2015-live tutto su #vs2015, #windows10, #aspnet5 e altro ancora!
- Creare link alle risorse di DocumentDB con UriFactory
- Ottenere il nome esteso del mese
- Eventi personalizzati per l'HealhMonitoring di ASP.NET 2.0
- Utilizare la libreria subsink per eliminare le sottoscrizioni agli observable in Angular
- Ritardata l'uscita di BizTalk Server 2004
- Creare file di Excel al volo