我通过查询从数据库中提取了许多行。假设结果是120行。我想按“分数”对这些行进行排序。这很容易,因为每一行都有一个名为“得分”的字段。接下来,我想对结果的前20行进行随机排序。因此:按分数第一个排序,然后随机前20个排序。我该怎么做?
编辑:要清楚:我想显示所有120行,就在它们的前20个随机之后。
谢谢!
假设您$rows
使用类似以下SQL的代码将所有结果存储在PHP数组中:
SELECT * from `table_name` order by `score`;
听起来您知道该怎么做,所以我省略了细节。您想要的位如下:
// Get the first 20 rows
$top_twenty = array_slice($rows, 0, 20)
// Order them randomly
shuffle($top_twenty);
// Put them back into the $rows array, with their new order
$rows = array_replace($rows, $top_twenty);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句