logo

SQL ORDER BY RANDOM

Якщо ви хочете, щоб результуючий запис був замовлені випадковим чином , ви повинні використовувати наступні коди відповідно до кількох баз даних.

Ось питання: для чого потрібно отримувати випадковий запис або рядок із бази даних?

Іноді вам може знадобитися відобразити випадкову інформацію, наприклад статті, посилання, сторінки тощо для вашого користувача.

команди kali linux

Якщо ви хочете отримати випадкові рядки з будь-якої з баз даних, ви повинні використовувати деякі змінені запити відповідно до баз даних.

    Виберіть випадковий рядок за допомогою MySQL:

Якщо ви хочете повернути випадковий рядок за допомогою MY SQL, використовуйте такий синтаксис:

 SELECT column FROM table ORDER BY RAND () LIMIT 1; 
    Виберіть випадковий рядок за допомогою Postgre SQL:
 SELECT column FROM table ORDER BY RANDOM () LIMIT 1; 
    Виберіть випадковий рядок за допомогою SQL Server:
 SELECT TOP 1 column FROM table ORDER BY NEWID (); 
    Виберіть випадковий рядок за допомогою оракула:
 SELECT column FROM (SELECT column FROM table ORDER BY dbms_random.value) WHERE rownum = 1; 
    Виберіть випадковий рядок за допомогою IBM DB2:
 SELECT column RAND () as IDX FROM table ORDER BY IDX FETCH FIRST 1 ROWS ONLY; 

Щоб зрозуміти цю концепцію на практиці, розглянемо кілька прикладів використання бази даних MySQL. Припустімо, що у базі даних створено таблицю елементів із такими даними:

Таблиця: п.п

ID Назва виробу Item_Quantity Item_Price Дата покупки
1 Мило 5 200 2021-07-08
2 Зубна паста 2 80 2021-07-10
3 Перо 10 п'ятдесят 2021-07-12
4 Пляшка 1 250 2021-07-13
5 Кисть 3 90 2021-07-15

Припустимо, ми хочемо отримати будь-який випадковий запис із таблиці елементів.

вечеря проти вечері

Ми напишемо запит наступним чином:

 mysql> SELECT * FROM items ORDER BY RAND () LIMIT 1; 

Ми можемо отримати такі результати:

ID Назва виробу Item_Quantity Item_Price Дата покупки
3 Перо 10 двадцять 2021-07-12

Тепер давайте спробуємо виконати той самий запит ще раз.

 mysql> SELECT * FROM items ORDER BY RAND () LIMIT 1; 

Ми можемо отримати такі результати:

ID Назва виробу Item_Quantity Item_Price Дата покупки
5 Кисть 3 90 2021-07-15

З наведених вище результатів ми можемо зробити висновок, що ми отримуємо різні записи як вихідні дані обидва рази, навіть якщо ми виконали той самий запит двічі. Функція RAND () вибирала випадкові записи обидва рази для одного запиту з однієї таблиці. Таким чином, навіть якщо ми знову виконаємо той самий запит, ми щоразу отримуватимемо інший результат. Існує рідкісна можливість отримати той самий запис послідовно за допомогою функції RAND ().

Тепер припустімо, що ви хочете, щоб усі записи таблиці вибиралися випадковим чином.

Для цього нам потрібно виконати наступний запит:

приклад імені користувача
 mysql> SELECT * FROM items ORDER BY RAND (); 

Ми можемо отримати такі результати:

ID Назва виробу Item_Quantity Item_Price Дата покупки
4 Пляшка 1 250 2021-07-13
5 Кисть 3 90 2021-07-15
1 Мило 5 200 2021-07-08
2 Зубна паста 2 80 2021-07-10
3 Перо 10 п'ятдесят 2021-07-12

Існує також можливість отримати інше розташування записів, якщо ми знову виконаємо функцію RAND () у таблиці службовців.