1

嗨,我有一个查询,我在其中创建一个数组来回显具有父 id (X) pid 的所有类别。

我知道如何按名称对它们进行排序问题就在它们的每一个内部,这是一个称为“其他”的子类别..这个必须在最后。所以所有“兄弟”子类别都按字母顺序排列,类别名称“其他”位于该数组的末尾。

你如何做到这一点

$sql="select id,name,image from categories where pid=?";
                        $res1=$db->execute_query($sql,array($row['id']));

                        while($row1=$res1->fetch_assoc())
4

2 回答 2

3

要将other类别放在最后,您可以这样做

order by case when cat_name = 'others' then 2 else 1 end asc,
         cat_name asc, 
         name asc
于 2013-10-05T06:53:51.140 回答
2

仅在mysql中有效的另一种方式,

ORDER BY (cat_name = 'others'), cat_name 

表达式(cat_name = 'others')返回 0 表示假,1 表示真。

于 2013-10-05T06:56:04.607 回答