Ak chcete, aby výsledný záznam bol objednané náhodne , mali by ste použiť nasledujúce kódy podľa niekoľkých databáz.
Tu je otázka: aká je potreba získať náhodný záznam alebo riadok z databázy?
Niekedy možno budete chcieť zobraziť náhodné informácie, ako napr články, odkazy, stránky atď. svojmu používateľovi.
Ak chcete získať náhodné riadky z niektorej z databáz, musíte použiť niektoré zmenené dotazy podľa databáz.
Ak chcete vrátiť náhodný riadok s MY SQL, použite nasledujúcu syntax:
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;
Aby sme tento koncept pochopili prakticky, pozrime si niekoľko príkladov s použitím databázy MySQL. Uvažujme, že máme v databáze vytvorené položky tabuľky s nasledujúcimi údajmi:
čo sú selektory v css
Tabuľka: položky
ID | Názov položky | Množstvo_položky | Item_Price | Dátum nákupu |
---|---|---|---|---|
1 | Mydlo | 5 | 200 2021-07-08 | |
2 | Zubná pasta | 2 | 80 | 2021-07-10 |
3 | Pero | 10 | päťdesiat | 2021-07-12 |
4 | Fľaša | 1 | 250 | 2021-07-13 |
5 | Kefa | 3 | 90 | 2021-07-15 |
Predpokladajme, že chceme získať ľubovoľný náhodný záznam z tabuľky položiek.
Dotaz napíšeme takto:
trieda java skenera
mysql> SELECT * FROM items ORDER BY RAND () LIMIT 1;
Môžeme získať nasledujúce výsledky:
ID | Názov položky | Množstvo_položky | Item_Price | Dátum nákupu |
---|---|---|---|---|
3 | Pero | 10 | dvadsať | 2021-07-12 |
Teraz skúsme vykonať rovnaký dotaz ešte raz.
mysql> SELECT * FROM items ORDER BY RAND () LIMIT 1;
Môžeme získať nasledujúce výsledky:
ID | Názov položky | Množstvo_položky | Item_Price | Dátum nákupu |
---|---|---|---|---|
5 | Kefa | 3 | 90 | 2021-07-15 |
Z vyššie uvedených výsledkov môžeme dospieť k záveru, že sme dostali rôzne záznamy ako výstup v oboch prípadoch, aj keď sme ten istý dotaz vykonali dvakrát. Funkcia RAND () vybrala náhodné záznamy v oboch prípadoch pre rovnaký dotaz z jednej tabuľky. Preto aj keď znova vykonáme rovnaký dotaz, zakaždým dostaneme iný výstup. Existuje zriedkavá možnosť získať rovnaký záznam za sebou pomocou funkcie RAND ().
Teraz predpokladajme, že chcete, aby boli všetky záznamy tabuľky načítané náhodne.
Aby sme to urobili, musíme vykonať nasledujúci dotaz:
mysql> SELECT * FROM items ORDER BY RAND ();
Môžeme získať nasledujúce výsledky:
ID | Názov položky | Množstvo_položky | Item_Price | Dátum nákupu |
---|---|---|---|---|
4 | Fľaša | 1 | 250 | 2021-07-13 |
5 | Kefa | 3 | 90 | 2021-07-15 |
1 | Mydlo | 5 | 200 | 2021-07-08 |
2 | Zubná pasta | 2 | 80 | 2021-07-10 |
3 | Pero | 10 | päťdesiat | 2021-07-12 |
Existuje tiež možnosť získať rôzne usporiadanie záznamov, ak znova spustíme funkciu RAND () na stole zamestnancov.