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

LIMIT pak RAND spíše než RAND pak LIMIT

Můžete to udělat pomocí vnitřního výběru. Vyberte horních dvacet řádků ve vnitřním výběru. Ve vnějším výběru seřaďte tyto řádky náhodně a vyberte prvních pět:

SELECT *
FROM (
    SELECT *
    FROM table1
    ORDER BY score DESC
    LIMIT 20
) AS T1
ORDER BY RAND()
LIMIT 5



  1. Jak vybrat z názvu dynamické tabulky

  2. Dotaz SUM pro dvě pole ve dvou různých tabulkách

  3. Enity Framework s MySQL

  4. PDOException::(PDO::__construct():Neočekávaná odezva serveru při provádění caching_sha2 auth:109) s MySQL 8 / PHP 7.2 / Laravel