[英]Is it possible to order “first n” records randomly with only one SELECT?
Is there a way to do this without two selects ? 没有两个选择,有没有办法做到这一点?
Original query 原始查询
SELECT name,view_count
FROM `ex`.`item`
where status='available' order by view_count asc
limit 40;
To display randomly 随机显示
SELECT *
FROM (SELECT name,view_count
FROM `ex`.`item`
where status='available'
order by view_count asc
limit 40 ) AS temp
ORDER BY RAND();
Can this be done without a second select? 可以在没有第二次选择的情况下完成吗?
Try this: 尝试这个:
SQL Fiddle: http://sqlfiddle.com/#!2/330f8/2 SQL小提琴: http ://sqlfiddle.com/#!2/330f8/2
SELECT name, view_count
FROM `ex`.`item`
where status='available'
order by rand(), view_count asc limit 40;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.