【发布时间】:2013-09-17 13:38:24
【问题描述】:
有没有办法在没有两次选择的情况下做到这一点?
原始查询
SELECT name,view_count
FROM `ex`.`item`
where status='available' order by view_count asc
limit 40;
随机显示
SELECT *
FROM (SELECT name,view_count
FROM `ex`.`item`
where status='available'
order by view_count asc
limit 40 ) AS temp
ORDER BY RAND();
这可以在没有第二次选择的情况下完成吗?
【问题讨论】:
-
我认为没有比您的第二个
SELECT更好的方法了。为什么你认为这是个问题? -
@Barmar 我没有,我只是想看看是否有任何替代方案,如果有的话如何:)
-
我能想到的唯一选择是将第一个查询的所有结果读入客户端应用程序中的一个数组,然后打乱该数组。
标签: mysql sql random sql-order-by