Mysql
 sql >> база данни >  >> RDS >> Mysql

Заявка за получаване на топ 2 и 3-ти записи от таблица

Вие сте доста близо:

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

Подзаявките използват order by rand() за да получите произволни ученици с всяка оценка. Външният order by rand() рандомизира петимата ученици.

Забележка:Това е най-лесният начин да постигнете това, което искате. Ако students таблицата е дори умерено голяма и производителността е проблем, има алтернативни решения.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rails валидира уникалността неуспешно при едновременни входове

  2. Примери за UTC_TIME – MySQL

  3. MySQL datetime не връща час

  4. Искам да покажа множество изображения от базата данни в jsp (аз картографирам сървлет), така че в jsp m ще се покаже в src на етикета img

  5. XA срещу производителност на JDBC драйвер без XA?