php - mysql php随机结果按名称排序

标签 php mysql sorting

我需要按随机结果中的名称进行排序。我的sql命令:

SELECT * FROM oc_manufacturer ORDER BY RAND() ASC LIMIT 0,50

它返回这个数组:

   [0] => Array
        (
            [manufacturer_id] => 16
            [name] => Azzaro
        )

    [1] => Array
        (
            [manufacturer_id] => 71
            [name] => Sony
        )

    [2] => Array
        (
            [manufacturer_id] => 104
            [name] => Casio
        )

    [3] => Array
        (
            [manufacturer_id] => 30
            [name] => Jeepers Peepers
        )

但我想先返回 Azzaro,然后是 Casio,然后是 Jeepers Peepers,最后是 Sony。我需要按名称对 RAMDOM 结果进行排序。我尝试了排序数组和一些 mysql 命令,但没有成功。

最佳答案

你可以

创建一个子查询(参见草莓评论)

SELECT * FROM (SELECT * FROM oc_manufacturer ORDER BY RAND() LIMIT 50)x ORDER BY name;

在 PHP 中对数组进行排序

$array = ....; // make query
usort($array, function($item1, item2) {
    return strcmp($item1['name'], $item2['name']);
});

关于php - mysql php随机结果按名称排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24057603/

相关文章:

php - 你如何管理你的构建 [使用 Phing] 过程?

php - 为什么 mysql CLI 可以连接,而 WordPress 却不能?

MySQL 插入非主键的重复更新

mysql - 如何在 MySQL 数据库中选择日期时间为今天 - 2 天的行?

mysql - MySQL用户的 super 用户权限

java - 证明合并排序是稳定的

php - 使用 PHP 和 MySQL 处理搜索字符串

PHP重新索引数组?

arrays - 算法分析 - 在排序数组中查找丢失的整数优于 O(n)

r - 按字母和数字列对数据框进行排序