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
- Creare agenti facilmente con Azure AI Agent Service
- Loggare le query più lente con Entity Framework
- Disabilitare le run concorrenti di una pipeline di Azure DevOps
- Rendere i propri workflow e le GitHub Action utilizzate più sicure
- Gestione degli eventi nei Web component HTML
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- Fornire parametri ad un Web component HTML