Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Memilih data dari MYSQL dengan LIMIT berisi satu elemen dengan nilai mis. 1

Menggunakan UNION ALL dan sub kueri akan membantu mendapatkan hasil yang Anda harapkan.

Kueri berikut akan membantu dalam kasus Anda:

SELECT Answer FROM (
    SELECT * FROM (
        SELECT Answer, 1 AS ManualOrder FROM Answers WHERE Correct = 'true' AND QId = 1
        UNION ALL
        SELECT Answer, RAND() FROM Answers WHERE Correct != 'true' AND QId = 1 
    ) AS Q 
    ORDER BY ManualOrder DESC LIMIT 3
) W ORDER BY RAND()

Silakan temukan demo di db<>biola

Dalam demo saya, Answer 04 adalah jawaban yang benar untuk id pertanyaan 1 , dalam kumpulan hasil, Answer 04 selalu kembali bersama dengan 2 jawaban lainnya dalam urutan acak.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tampilkan Gambar di Wordpress dengan Kode PHP

  2. NILAI UNSIGNED BIGINT DI luar jangkauan SQL Saya

  3. Cari nomor telepon di database mengabaikan karakter khusus

  4. Simpan semua perubahan data dengan setiap detail (seperti Stackoverflow)

  5. Buat indeks pada tabel produksi MySQL besar tanpa penguncian tabel