84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
我進行了搜索,但找不到有效的解決方案。這裡需要一點幫助。
假設我有一個包含超過 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;
讓我知道如何修正它。謝謝。
內部查詢選擇 20 個按 ID 排序的用戶,外部查詢使用 RAND() 函數隨機排序,限制為 5 :)
SELECT * FROM ( SELECT * FROM A ORDER BY id desc LIMIT 20 ) T1 ORDER BY rand() limit 5
內部查詢選擇 20 個按 ID 排序的用戶,外部查詢使用 RAND() 函數隨機排序,限制為 5 :)