MySQL - 如何在选择顶部之后选择随机?

时间:2013-06-17 15:10:41

标签: php mysql sql

我有这样的查询:

SELECT Id,Name,image,price,view FROM estore.product ORDER BY view DESC LIMIT 9

我希望在该查询中选择随机5条记录。我试过但这段代码不起作用:

SELECT Id, Name, Image, Price, View FROM (
    SELECT Id, Name, Image, Price, View FROM estore.product ORDER BY View DESC LIMIT 9) 
    ORDER BY RAND() LIMIT 5

我该怎么办?感谢您收看?

3 个答案:

答案 0 :(得分:4)

必须命名子查询。尝试:

LIMIT 9) as SubQueryAlias ORDER BY RAND() 
        ^^^^^^^^^^^^^^^^^^

答案 1 :(得分:1)

你可能想去阅读这个帖子 Multiple rows alternative for RAND()

如果你的表非常大(并且它可能最终会成为一个很大的产品表),那么rand()限制是一个非常缓慢的查询

答案 2 :(得分:0)

SELECT Id, Name, Image, Price, View FROM estore.product ORDER BY RAND() LIMIT 5

(使用子查询进行排序并限制相同的选择是疯狂的......)