Dacă doriți ca înregistrarea rezultată să fie comandat la întâmplare , ar trebui să utilizați următoarele coduri conform mai multor baze de date.
Iată o întrebare: de ce trebuie să obțineți o înregistrare aleatorie sau un rând dintr-o bază de date?
Uneori poate doriți să afișați informații aleatorii, cum ar fi articole, link-uri, pagini , etc., către utilizatorul dvs.
Dacă doriți să obțineți rânduri aleatorii din oricare dintre bazele de date, trebuie să utilizați unele interogări modificate în funcție de bazele de date.
Dacă doriți să returnați un rând aleatoriu cu MY SQL, utilizați următoarea sintaxă:
SELECT column FROM table ORDER BY RAND () LIMIT 1;
SELECT column FROM table ORDER BY RANDOM () LIMIT 1;
SELECT TOP 1 column FROM table ORDER BY NEWID ();
SELECT column FROM (SELECT column FROM table ORDER BY dbms_random.value) WHERE rownum = 1;
SELECT column RAND () as IDX FROM table ORDER BY IDX FETCH FIRST 1 ROWS ONLY;
Pentru a înțelege practic acest concept, să vedem câteva exemple folosind baza de date MySQL. Luați în considerare că avem elemente de tabel create în baza de date cu următoarele date:
Tabel: articole
android.process.acore continuă să se oprească
ID | Item_Nume | Item_Quantity | Pretul articolului | Data cumpărării |
---|---|---|---|---|
1 | Săpun | 5 | 200 2021-07-08 | |
2 | Pastă de dinţi | 2 | 80 | 2021-07-10 |
3 | Pix | 10 | cincizeci | 2021-07-12 |
4 | Sticla | 1 | 250 | 2021-07-13 |
5 | Perie | 3 | 90 | 2021-07-15 |
Să presupunem că vrem să extragem orice înregistrare aleatorie din tabelul cu articole.
Vom scrie interogarea după cum urmează:
numere romane de la 1 la 100
mysql> SELECT * FROM items ORDER BY RAND () LIMIT 1;
Este posibil să obținem următoarele rezultate:
ID | Item_Nume | Item_Quantity | Pretul articolului | Data cumpărării |
---|---|---|---|---|
3 | Pix | 10 | douăzeci | 2021-07-12 |
Acum haideți să încercăm să executăm aceeași interogare încă o dată.
mysql> SELECT * FROM items ORDER BY RAND () LIMIT 1;
Este posibil să obținem următoarele rezultate:
ID | Item_Nume | Item_Quantity | Pretul articolului | Data cumpărării |
---|---|---|---|---|
5 | Perie | 3 | 90 | 2021-07-15 |
Din rezultatele de mai sus, putem concluziona că obținem înregistrări diferite ca ieșire de ambele ori, chiar dacă am executat aceeași interogare de două ori. Funcția RAND () a selectat înregistrări aleatorii de ambele ori pentru aceeași interogare dintr-un singur tabel. Prin urmare, chiar dacă executăm din nou aceeași interogare, vom obține rezultate diferite de fiecare dată. Există o posibilitate rară de a obține aceeași înregistrare consecutiv folosind funcția RAND ().
Acum, să presupunem că doriți ca toate înregistrările tabelului să fie preluate aleatoriu.
Pentru a face acest lucru, trebuie să executăm următoarea interogare:
mysql> SELECT * FROM items ORDER BY RAND ();
Este posibil să obținem următoarele rezultate:
ID | Item_Nume | Item_Quantity | Pretul articolului | Data cumpărării |
---|---|---|---|---|
4 | Sticla | 1 | 250 | 2021-07-13 |
5 | Perie | 3 | 90 | 2021-07-15 |
1 | Săpun | 5 | 200 | 2021-07-08 |
2 | Pastă de dinţi | 2 | 80 | 2021-07-10 |
3 | Pix | 10 | cincizeci | 2021-07-12 |
Există, de asemenea, posibilitatea de a obține unele aranjamente diferite de înregistrări dacă executăm din nou funcția RAND () pe tabelul angajaților.