我在名为number_of_times
的MySQL表中有一行,我将此查询发送到SQL SELECT * FROM Vocab ORDER BY Rand() LIMIT 3
,它返回3个随机数据,我该如何选择3个随机数,但要从number_of_times
行最小的那个中选择
最佳答案
您需要选择最小值。只需使用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)
上的索引。