我正在尝试选择得分最高的三行。显然我可以使用一些简单的东西,例如:
SELECT * FROM myTable ORDER BY myscore DESC LIMIT 3;
但我还想要的是一种简单的方法,可以随机返回这三行中的一行。通常我只是做一个ORDER BY rand(),但是最简单的方法是添加约束,它必须是来自前3个得分行的随机值?
谢谢!
答案 0 :(得分:4)
SELECT * FROM
(
SELECT * FROM myTable ORDER BY myscore DESC LIMIT 3
) Top3
ORDER BY RAND() LIMIT 1;