Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Mysql Wybierz kilka losowych wierszy i plus jeden konkretny wiersz

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

Zakładając, że correct jest jakaś int. W przeciwnym razie może być konieczna zmiana DESC do ASC .

Możesz „tasować” 5 wyników, używając jeszcze jednego ORDER BY RAND() tak:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. używając implode dla tablicy wewnątrz mysql, gdzie w klauzuli

  2. Proszę o przykład połączenia JavaFX MySQL

  3. Optymalna konfiguracja MySQL (my.cnf)

  4. MYSQL wybierz wspólnych znajomych

  5. Błąd przygotowanej instrukcji Java MYSQL:Sprawdź składnię, aby użyć obok znaku „?” w linii 1