MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Zwróć losowe wiersze z tabeli w MariaDB

Oto szybki sposób na zwrócenie losowych wierszy z tabeli w MariaDB.

Załóżmy, że mamy tabelę o nazwie Pets z następującymi danymi:

SELECT  
    PetId,
    PetName
FROM Pets;

Wynik:

+-------+---------+
| PetId | PetName |
+-------+---------+
|     1 | Fluffy  |
|     2 | Fetch   |
|     3 | Scratch |
|     4 | Wag     |
|     5 | Tweet   |
|     6 | Fluffy  |
|     7 | Bark    |
|     8 | Meow    |
+-------+---------+

Możemy użyć RAND() funkcja w połączeniu z ORDER BY klauzula i LIMIT słowo kluczowe, aby zwrócić losowe wiersze z tej tabeli.

Przykład:

SELECT  
    PetId,
    PetName
FROM Pets 
ORDER BY RAND() 
LIMIT 5;

Przykładowy wynik:

+-------+---------+
| PetId | PetName |
+-------+---------+
|     5 | Tweet   |
|     7 | Bark    |
|     1 | Fluffy  |
|     8 | Meow    |
|     3 | Scratch |
+-------+---------+

A jeśli uruchomię go ponownie, otrzymam to:

+-------+---------+
| PetId | PetName |
+-------+---------+
|     3 | Scratch |
|     8 | Meow    |
|     4 | Wag     |
|     7 | Bark    |
|     6 | Fluffy  |
+-------+---------+

I tak dalej…

Pamiętaj, że jest to dość intensywne i nie powinno być stosowane na większych stołach.

Korzystając z tej techniki, MariaDB odczytuje wszystkie wiersze w tabeli, generuje losową wartość dla każdego z nich, porządkuje je i na koniec stosuje LIMIT klauzula. Spowoduje to bardzo powolne zapytanie w dużych tabelach.

Zobacz Próbkowanie danych:Techniki efektywnego znajdowania losowego wiersza w witrynie MariaDB, aby zapoznać się z technikami bardziej dopasowanymi do większych tabel.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zautomatyzowane testowanie procesu aktualizacji dla klastra PXC/MariaDB Galera

  2. Ustaw język używany dla funkcji daty i godziny w MariaDB

  3. Przedstawiamy MariaDB Platform X5:bazę danych o dowolnym obciążeniu, teraz w dowolnej skali

  4. Czy na sterownik MariaDB JDBC występuje luka Log4j?

  5. Jak działa LN() w MariaDB