sql >> Databasteknik >  >> RDS >> Mysql

Mysql Välj några slumpmässiga rader och plus en specifik rad

SELECT *
FROM `choises`
WHERE questionid = :qid
ORDER BY correct DESC, RAND()
LIMIT 5

Förutsatt att correct är någon sorts int. Annars kan du behöva ändra DESC till ASC .

Du kan "blanda" de 5 resultaten med ytterligare en ORDER BY RAND() så här:

SELECT * FROM (
    SELECT *
    FROM `choises`
    WHERE questionid = :qid
    ORDER BY correct DESC, RAND()
    LIMIT 5
) as t
ORDER BY RAND()



  1. Hur man skapar en tabell i designvy i Access 2016

  2. Misslyckades med att bygga hjul för psycopg2 - MacOSX med virtualenv och pip

  3. pivottabell Oracle - hur man ändrar radobjekt till kolumner

  4. En metod för indexjustering – Del 1