首先从特定值开始对数据库结果进行排序Kohana PHP

时间:2014-02-21 11:16:51

标签: php mysql sorting kohana

我正在对我的数据库中的结果进行排序,但对于其中一个我想首先显示特定值,下面是我目前正在排序它们的方式,store_type DESC

elseif (Session::Instance()->get('country') == 'it') {
                            $stmt->order_by('`store_type`', 'DESC');

这很好用,但是我想改变顺序,以便首先显示id为8,9,10的值,然后显示所有其他结果,目前它以id 13开头,因为这是我表的结尾它正在排序DESC

有人能指出我如何实现这个目标吗?我正在使用Kohana框架。

4 个答案:

答案 0 :(得分:0)

如果我理解正确,你必须用ASC改变DESC

elseif (Session::Instance()->get('country') == 'it') {
                        $stmt->order_by('`store_type`', 'ASC');

答案 1 :(得分:0)

试试这个

order by case when store_type in (8,9,10) then 1 else store_type end,store_type DESC

答案 2 :(得分:0)

试试这个......

 order by find_in_set(`store_type`, '10,9,8') desc;

答案 3 :(得分:0)

如果您要求升序,那么只需用ASC替换您的DESC即可。如果您不希望这样的话,那么请详细说明,以便我们可以帮助您。

elseif(Session :: Instance() - > get('country')=='it'){                         $ stmt-> order_by('store_type','ASC');