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

Eseguire una query per ottenere i primi 2 e 3 record da una tabella

Sei abbastanza vicino:

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

Le sottoquery usano order by rand() per ottenere studenti casuali con ogni grado. L' order by rand() randomizza i cinque studenti.

Nota:questo è il modo più semplice per ottenere ciò che desideri. Se gli students table è anche moderatamente grande e le prestazioni sono un problema, ci sono soluzioni alternative.