Jos haluat tuloksena olevan ennätyksen tilattu satunnaisesti , sinun tulee käyttää seuraavia koodeja useiden tietokantojen mukaan.
csv-tiedoston lukeminen javassa
Tässä on kysymys: mitä tarvitaan satunnaisen tietueen tai rivin hakemiseen tietokannasta?
Joskus saatat haluta näyttää satunnaisia tietoja, kuten artikkeleita, linkkejä, sivuja jne. käyttäjällesi.
Jos haluat hakea satunnaisia rivejä mistä tahansa tietokannasta, sinun on käytettävä joitain muutettuja kyselyitä tietokantojen mukaan.
Jos haluat palauttaa satunnaisen rivin OMA SQL:llä, käytä seuraavaa syntaksia:
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;
Ymmärtääksemme tätä käsitettä käytännössä, katsokaamme joitain esimerkkejä MySQL-tietokannan avulla. Oletetaan, että meillä on tietokantaan luotu taulukkokohteet, joissa on seuraavat tiedot:
Taulukko: kohteita
ID | Tuotteen nimi | Tuote_määrä | Tuote_hinta | Ostopäivä |
---|---|---|---|---|
1 | Saippua | 5 | 200 2021-07-08 | |
2 | Hammastahna | 2 | 80 | 10.7.2021 |
3 | Kynä | 10 | viisikymmentä | 12.7.2021 |
4 | Pullo | 1 | 250 | 13.7.2021 |
5 | Harjata | 3 | 90 | 15.7.2021 |
Oletetaan, että haluamme noutaa minkä tahansa satunnaisen tietueen kohdetaulukosta.
Kirjoitamme kyselyn seuraavasti:
mysql> SELECT * FROM items ORDER BY RAND () LIMIT 1;
Saatamme saada seuraavat tulokset:
ID | Tuotteen nimi | Tuote_määrä | Tuote_hinta | Ostopäivä |
---|---|---|---|---|
3 | Kynä | 10 | kaksikymmentä | 12.7.2021 |
Yritetään nyt suorittaa sama kysely vielä kerran.
mysql> SELECT * FROM items ORDER BY RAND () LIMIT 1;
Saatamme saada seuraavat tulokset:
ID | Tuotteen nimi | Tuote_määrä | Tuote_hinta | Ostopäivä |
---|---|---|---|---|
5 | Harjata | 3 | 90 | 15.7.2021 |
Yllä olevista tuloksista voimme päätellä, että saamme eri tietueita lähtönä molemmilla kerroilla, vaikka suoritimme saman kyselyn kahdesti. RAND () -funktio on valinnut satunnaiset tietueet molemmat kertaa samalle kyselylle yhdestä taulukosta. Siksi, vaikka suoritammekin saman kyselyn uudelleen, saamme joka kerta erilaisen tuloksen. On harvinainen mahdollisuus saada sama tietue peräkkäin käyttämällä RAND () -toimintoa.
Oletetaan nyt, että haluat, että kaikki taulukon tietueet haetaan satunnaisesti.
Tätä varten meidän on suoritettava seuraava kysely:
mysql> SELECT * FROM items ORDER BY RAND ();
Saatamme saada seuraavat tulokset:
ID | Tuotteen nimi | Tuote_määrä | Tuote_hinta | Ostopäivä |
---|---|---|---|---|
4 | Pullo | 1 | 250 | 13.7.2021 |
5 | Harjata | 3 | 90 | 15.7.2021 |
1 | Saippua | 5 | 200 | 2021-07-08 |
2 | Hammastahna | 2 | 80 | 10.7.2021 |
3 | Kynä | 10 | viisikymmentä | 12.7.2021 |
On myös mahdollista saada erilaisia tietueiden järjestelyjä, jos suoritamme RAND () -funktion uudelleen työntekijätaulukossa.