简体   繁体   English

mysql随机从前10名

[英]mysql random from top 10

I have the mysql query: 我有mysql查询:

SELECT * FROM bigtable WHERE column1='1' ORDER BY column2 DESC LIMIT 10

And then I put everything in an array and use php to choose a random row from this array of 10 items. 然后我将所有内容放在一个数组中并使用php从这个包含10个项目的数组中选择一个随机行。

Is there a way to do this with a single mysql query instead of mysql+php part? 有没有办法用一个mysql查询而不是mysql + php部分来做到这一点?

After take top 10, then take 1 with random: 进入前10后,随机取1:

SELECT * from (
   SELECT * FROM bigtable 
   WHERE column1='1' 
   ORDER BY column2 DESC LIMIT 10
) T ORDER BY RAND() 
LIMIT 1

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM