如何使用MySQL子查詢從預先過濾的清單中取得隨機記錄?
P粉776412597
P粉776412597 2024-04-02 09:44:53
0
1
449

我進行了搜索,但找不到有效的解決方案。這裡需要一點幫助。

假設我有一個包含超過 100 筆記錄的表,首先,我需要按一定順序找出前 20 筆記錄,然後我需要從這 20 筆記錄中隨機挑選 5 筆記錄。 這是我的查詢,

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;

讓我知道如何修正它。謝謝。

P粉776412597
P粉776412597

全部回覆(1)
P粉863295057

內部查詢選擇 20 個按 ID 排序的用戶,外部查詢使用 RAND() 函數隨機排序,限制為 5 :)

SELECT * FROM 
(
    SELECT * FROM A ORDER BY id desc LIMIT 20
) T1
ORDER BY rand() limit 5
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!