0
我已經在MySQL表中名爲number_of_times
,我發送此查詢到SQL SELECT * FROM Vocab ORDER BY Rand() LIMIT 3
,它返回3個隨機數據,我怎麼能選擇3個隨機數,但從其中number_of_times
行是最小的那些Mysql得到隨機數,但嘗試獲取最小值
我已經在MySQL表中名爲number_of_times
,我發送此查詢到SQL SELECT * FROM Vocab ORDER BY Rand() LIMIT 3
,它返回3個隨機數據,我怎麼能選擇3個隨機數,但從其中number_of_times
行是最小的那些Mysql得到隨機數,但嘗試獲取最小值
您需要選擇最小的值。只需使用number_of_times
作爲order by
第一項:
SELECT *
FROM Vocab
ORDER BY number_of_times asc, Rand()
LIMIT 3;
注意:如果你只是想用最小的number_of_times
價值觀 - 即使不是他們的3 - 那麼這可能會更快:
SELECT *
FROM Vocab
WHERE number_of_times = (SELECT MIN(number_of_times) from Vocab)
ORDER BY Rand()
LIMIT 3;
這可以利用Vocab(number_of_times)
上的索引。
感謝它的工作! –