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)
上的索引。
感谢它的工作! –