logo

SQL ORDER VÉLETLENSZERŰ

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.

    Válasszon ki egy véletlenszerű sort a MySQL-lel:

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; 
    Válasszon ki egy véletlenszerű sort a Postgre SQL-lel:
 SELECT column FROM table ORDER BY RANDOM () LIMIT 1; 
    Válasszon ki egy véletlenszerű sort az SQL Serverrel:
 SELECT TOP 1 column FROM table ORDER BY NEWID (); 
    Válasszon ki egy véletlenszerű sort az oracle segítségével:
 SELECT column FROM (SELECT column FROM table ORDER BY dbms_random.value) WHERE rownum = 1; 
    Válasszon ki egy véletlenszerű sort az IBM DB2 segítségével:
 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.