PHP sql查询按名称和顺序排序,最后命名为“x”的类别

时间:2013-10-05 06:50:22

标签: php mysql sql

我有一个查询,其中我创建一个数组来回显父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())

2 个答案:

答案 0 :(得分:3)

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

order by case when cat_name = 'others' then 2 else 1 end asc,
         cat_name asc, 
         name asc

答案 1 :(得分:2)

另一种只适用于mysql的方式,

ORDER BY (cat_name = 'others'), cat_name 

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