Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie, aby uzyskać najlepsze 2 i 3 rekordy z tabeli

Jesteś blisko:

(select * from student where SECTION = 'A' order by rand() LIMIT 3
) union all
(select * from student where SECTION = 'B' order by rand() LIMIT 2
)
order by rand();

Podzapytania używają order by rand() aby uzyskać losowych uczniów z każdym stopniem. Zewnętrzny order by rand() losuje pięciu uczniów.

Uwaga:to najprostszy sposób na osiągnięcie tego, czego chcesz. Jeśli students stół jest nawet umiarkowanie duży, a wydajność jest problemem, istnieją alternatywne rozwiązania.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie wszystkie parametry zostały użyte w instrukcji SQL (Python, MySQL)

  2. Problem z MySQL:LEFT JOIN na pustej tabeli

  3. Najlepszy sposób na przechowywanie danych XML w bazie danych MySQL, z pewnymi określonymi wymaganiami

  4. Wstawka MySQL na zduplikowanym kluczu; kasować?

  5. Wtyczka uwierzytelniania 'caching_sha2_password' nie jest obsługiwana