sql >> Databáze >  >> RDS >> Mysql

Dotaz na získání 2. a 3. záznamu z tabulky

Jste docela blízko:

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

Dílčí dotazy používají order by rand() získat náhodné studenty s každým ročníkem. Vnější order by rand() náhodně vybere pět studentů.

Poznámka:Toto je nejjednodušší způsob, jak dosáhnout toho, co chcete. Pokud students tabulka je dokonce středně velká a problémem je výkon, existují alternativní řešení.



  1. Použití Oracle JDeveloper s databázovou službou MySQL na platformě Oracle Cloud, část 1

  2. Poradní zámky nebo NOWAIT, abyste se vyhnuli čekání na zamčené řádky?

  3. Ovladač MySQL ODBC 5.1 vrací do ADODB nesprávný datový typ

  4. Typ dat SQL pro uložení verzí sestavení