
Mentre lavoravo ad un bel progetto in Gambas, mi sono imbattuto nell'esigenza di dover tirar fuori dieci dati a caso da un database sqlite da riversare poi in una TableView. Non mi interessava molto il loro ordine ma mi sono focalizzato sulla loro casualità.
Sqlite permette di estrapolare un numero predefinito di dati random in maniera molto semplice. Basta eseguire infatti
SELECT * FROM NomeTabella ORDER BY RANDOM() LIMIT 10
per ottenere 10 dati qualsiasi dalla tabella indicata. Si noti come:
SELECT * : Il carattere speciale * serve ad indicare che non si cerca nulla di preciso ma tutto può andar bene, infatti * è un carattere jolly che può rimpiazzare qualsiasi carattere.
FROM NomeTabella : Preleva i dati dalla tabella indicata
ORDER BY RANDOM() : ORDER BY indica il modo in cui i dati devono essere prelevati. Tale prelievo può essere, ad esempio, per ordine alfabetico o numerico. Nel nostro caso stiamo indicando di prelevarli del tutto casuali (random = casuale)
LIMIT 10 : Impone un limite di 10 dati da prelevare
Preciso, infine, che qualora si voglia lo stesso lavoro con un database di tipo MySql, il comnado è del tutto simile apparte la sostituzione del termine RANDOM() con RAND() ottenendo così:
SELECT * FROM NomeTabella ORDER BY RANDOM() LIMIT 10
0 commenti:
Posta un commento