Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk mendapatkan rekod rawak daripada senarai pra-tapis menggunakan subquery MySQL?

Saya mencari tetapi tidak menemui penyelesaian yang berkesan. Perlukan sedikit bantuan di sini.

Andaikan saya mempunyai jadual dengan lebih daripada 100 rekod, pertama, saya perlu mencari 20 rekod pertama dalam susunan tertentu, dan kemudian saya perlu memilih 5 rekod secara rawak daripada 20 rekod ini. Ini adalah pertanyaan saya,

SELECT a 
FROM tableA 
WHERE b IN (
    SELECT b 
    FROM tableA 
    WHERE c="x" 
    ORDER BY d DESC 
    LIMIT 20
) 
ORDER BY RAND() 
LIMIT 5;

Beritahu saya cara membetulkannya. terima kasih.

P粉776412597P粉776412597186 hari yang lalu447

membalas semua(1)saya akan balas

  • P粉863295057

    P粉8632950572024-04-03 00:11:25

    Pertanyaan dalaman memilih 20 pengguna yang diisih mengikut ID, pertanyaan luar menggunakan fungsi RAND() untuk memesan secara rawak, dengan had 5 :)

    SELECT * FROM 
    (
        SELECT * FROM A ORDER BY id desc LIMIT 20
    ) T1
    ORDER BY rand() limit 5

    balas
    0
  • Batalbalas