Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Permintaan untuk mendapatkan Catatan 2 dan 3 teratas dari Tabel

Anda cukup dekat:

(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();

Subquery menggunakan order by rand() untuk mendapatkan siswa acak dengan setiap kelas. order by rand() mengacak kelima siswa.

Catatan:Ini adalah cara paling sederhana untuk mencapai apa yang Anda inginkan. Jika students tabel bahkan cukup besar dan kinerja menjadi masalah, ada solusi alternatif.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Permintaan MySQL dengan SUM() tidak mengembalikan hasil yang diharapkan

  2. Permata MySQL di OSX 10.7 Lion

  3. Jika ada tabel drop table maka buatlah, jika tidak ada buat saja

  4. Bagaimana cara menjalankan perintah MySQL dari skrip shell?

  5. Klarifikasi urutan bergabung untuk pembuatan tabel sementara