Bagaimana untuk mendapatkan rekod rawak daripada senarai pra-tapis menggunakan subquery MySQL?
P粉776412597
P粉776412597 2024-04-02 09:44:53
0
1
588

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粉776412597
P粉776412597

membalas semua(1)
P粉863295057

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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan