sql >> Database teknologi >  >> RDS >> Mysql

Forespørgsel for at få top 2 og 3. poster fra en tabel

Du er ret tæt på:

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

Underforespørgslerne bruger order by rand() at få tilfældige elever med hver karakter. Den ydre order by rand() randomiserer de fem elever.

Bemærk:Dette er den enkleste måde at opnå det, du ønsker. Hvis students bordet er endda moderat stort, og ydeevne er et problem, er der alternative løsninger.



  1. Opdater med join ved hjælp af Zend-framework

  2. Sådan viser du et billede fra en mysql-blob

  3. Brug af Workbench til at oprette forbindelse til ekstern MySQL-server via SSH-tunnel

  4. Sådan fungerer UTC_DATE() i MariaDB