2012-08-11 86 views
0

我想查詢我的數據庫,以隨機順序返回,例如,前16位有序結果(按字段排序)。MySQL:以隨機順序返回top 16結果

我可以輕鬆地通過使用php來調整PHP將使用的數組來調整返回(並排序)的16個結果。我想知道是否有一種簡單的方法直接在查詢中完成此操作。

回答

2

嘗試

select * from 
(
    select * from your_table 
    order by rank 
    limit 16 
) x 
order by rand() 
+0

謝謝你的提示。 – 2012-08-11 03:00:30

+0

不會總是根據查詢使用的索引返回相同的16個結果嗎? – 2012-08-11 03:01:14

+0

@AdrianCornish:OP希望排名前16位的值(通過'rank'),然後洗牌,這個解決方案就是這麼做的。 – 2012-08-11 03:02:49