我有这样的查询:
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
我该怎么办?感谢您收看?
答案 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
(使用子查询进行排序并限制相同的选择是疯狂的......)