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