Ha azt szeretné, hogy az eredményül kapott rekord legyen véletlenszerűen rendelve , több adatbázis szerint a következő kódokat kell használnia.
Felmerül a kérdés: mi szükség van véletlenszerű rekord vagy sor lekéréséhez az adatbázisból?
sanjay dutt és
Néha előfordulhat, hogy véletlenszerű információkat szeretne megjeleníteni, mint pl cikkek, linkek, oldalak stb., a felhasználó számára.
Ha véletlenszerű sorokat szeretne lekérni bármelyik adatbázisból, akkor az adatbázisoknak megfelelően módosított lekérdezéseket kell használnia.
Ha véletlenszerű sort szeretne visszaadni a MY SQL-lel, használja a következő szintaxist:
a java részstringet tartalmaz
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;
Ennek a koncepciónak a gyakorlati megértéséhez lássunk néhány példát a MySQL adatbázis használatával. Tegyük fel, hogy van egy táblaelemünk az adatbázisban a következő adatokkal:
Táblázat: tételek
ID | Termék név | Item_Quantity | Darab ár | Vásárlás időpontja |
---|---|---|---|---|
1 | Szappan | 5 | 200 2021-07-08 | |
2 | Fogkrém | 2 | 80 | 2021-07-10 |
3 | Toll | 10 | ötven | 2021-07-12 |
4 | Üveg | 1 | 250 | 2021-07-13 |
5 | Kefe | 3 | 90 | 2021-07-15 |
Tegyük fel, hogy bármilyen véletlenszerű rekordot szeretnénk lekérni a tételtáblázatból.
A lekérdezést a következőképpen írjuk meg:
mysql> SELECT * FROM items ORDER BY RAND () LIMIT 1;
A következő eredményeket kaphatjuk:
ID | Termék név | Item_Quantity | Darab ár | Vásárlás időpontja |
---|---|---|---|---|
3 | Toll | 10 | húsz | 2021-07-12 |
Most próbáljuk meg még egyszer végrehajtani ugyanazt a lekérdezést.
mysql> SELECT * FROM items ORDER BY RAND () LIMIT 1;
A következő eredményeket kaphatjuk:
Diana Mary blacker
ID | Termék név | Item_Quantity | Darab ár | Vásárlás időpontja |
---|---|---|---|---|
5 | Kefe | 3 | 90 | 2021-07-15 |
A fenti eredményekből arra a következtetésre juthatunk, hogy mindkét alkalommal különböző rekordokat kapunk kimenetként, még akkor is, ha ugyanazt a lekérdezést kétszer hajtjuk végre. A RAND () függvény mindkét alkalommal véletlenszerű rekordokat választott ki ugyanahhoz a lekérdezéshez egyetlen táblából. Ezért ha ugyanazt a lekérdezést hajtjuk végre újra, minden alkalommal más kimenetet kapunk. Ritka lehetőség van arra, hogy ugyanazt a rekordot egymás után kapjuk meg a RAND () függvény használatával.
Most tegyük fel, hogy a tábla összes rekordját véletlenszerűen szeretné lekérni.
Ehhez a következő lekérdezést kell végrehajtanunk:
gimp törlési háttér
mysql> SELECT * FROM items ORDER BY RAND ();
A következő eredményeket kaphatjuk:
ID | Termék név | Item_Quantity | Darab ár | Vásárlás időpontja |
---|---|---|---|---|
4 | Üveg | 1 | 250 | 2021-07-13 |
5 | Kefe | 3 | 90 | 2021-07-15 |
1 | Szappan | 5 | 200 | 2021-07-08 |
2 | Fogkrém | 2 | 80 | 2021-07-10 |
3 | Toll | 10 | ötven | 2021-07-12 |
Lehetőség van a rekordok eltérő elrendezésére is, ha ismét végrehajtjuk a RAND () függvényt az alkalmazottak tábláján.