Hvis du ønsker, at den resulterende post skal være bestilles tilfældigt , bør du bruge følgende koder i henhold til flere databaser.
Her er et spørgsmål: hvad er behovet for at hente en tilfældig post eller en række fra en database?
Nogle gange vil du måske vise tilfældige oplysninger som f.eks artikler, links, sider osv. til din bruger.
understregning
Hvis du vil hente tilfældige rækker fra nogen af databaserne, skal du bruge nogle ændrede forespørgsler i henhold til databaserne.
Hvis du vil returnere en tilfældig række med MY SQL, skal du bruge følgende syntaks:
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;
For at forstå dette koncept praktisk, lad os se nogle eksempler ved hjælp af MySQL-databasen. Overvej, at vi har oprettet et tabelelement i databasen med følgende data:
Tabel: varer
ID | Tingens navn | Item_Quantity | Vare_Pris | Købsdato |
---|---|---|---|---|
1 | Sæbe | 5 | 200 2021-07-08 | |
2 | Tandpasta | 2 | 80 | 2021-07-10 |
3 | Pen | 10 | halvtreds | 2021-07-12 |
4 | Flaske | 1 | 250 | 2021-07-13 |
5 | Børste | 3 | 90 | 2021-07-15 |
Antag, at vi ønsker at hente enhver tilfældig post fra genstandetabellen.
udp protokol
Vi skriver forespørgslen som følger:
mysql> SELECT * FROM items ORDER BY RAND () LIMIT 1;
Vi kan få følgende resultater:
ID | Tingens navn | Item_Quantity | Vare_Pris | Købsdato |
---|---|---|---|---|
3 | Pen | 10 | tyve | 2021-07-12 |
Lad os nu prøve at udføre den samme forespørgsel en gang til.
mysql> SELECT * FROM items ORDER BY RAND () LIMIT 1;
Vi kan få følgende resultater:
ID | Tingens navn | Item_Quantity | Vare_Pris | Købsdato |
---|---|---|---|---|
5 | Børste | 3 | 90 | 2021-07-15 |
Ud fra ovenstående resultater kan vi konkludere, at vi får forskellige poster som output begge gange, selvom vi udførte den samme forespørgsel to gange. RAND ()-funktionen har valgt tilfældige poster begge gange for den samme forespørgsel fra en enkelt tabel. Derfor, selv om vi udfører den samme forespørgsel igen, vil vi få forskelligt output hver gang. Der er en sjælden mulighed for at få den samme post fortløbende ved hjælp af RAND ()-funktionen.
Antag nu, at du ønsker, at alle poster i tabellen skal hentes tilfældigt.
For at gøre det skal vi udføre følgende forespørgsel:
scanner java
mysql> SELECT * FROM items ORDER BY RAND ();
Vi kan få følgende resultater:
ID | Tingens navn | Item_Quantity | Vare_Pris | Købsdato |
---|---|---|---|---|
4 | Flaske | 1 | 250 | 2021-07-13 |
5 | Børste | 3 | 90 | 2021-07-15 |
1 | Sæbe | 5 | 200 | 2021-07-08 |
2 | Tandpasta | 2 | 80 | 2021-07-10 |
3 | Pen | 10 | halvtreds | 2021-07-12 |
Der er også en mulighed for at få nogle forskellige arrangementer af poster, hvis vi udfører RAND()-funktionen igen på medarbejdertabellen.