选择x项后,在MySQL中选择随机行

时间:2014-05-24 20:53:33

标签: mysql

我的查询列出了查询中最受欢迎的16个项目:

SELECT X, Y, Z FROM TABLE ORDER BY PCS DESC LIMIT 16

当我添加

SELECT X, Y, Z FROM TABLE ORDER BY PCS DESC, RAND() LIMIT 16

只有具有相同PCS值的项目是随机排序的。因此,如果PCS值为3,2,2,2,1,1,1,1 ...那么第一个带3的项始终是第一个,那么PCS值为2的三个项随机排序然后其余的

如何以随机顺序查询这16行?

1 个答案:

答案 0 :(得分:0)

更改

SELECT X, Y, Z FROM TABLE ORDER BY PCS DESC, RAND() LIMIT 16

SELECT * FROM
  ( SELECT X, Y, Z FROM TABLE ORDER BY PCS DESC LIMIT 16 ) results
ORDER BY RAND();