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

Php 首先从特定值开始对数据库结果进行排序,php,mysql,sorting,kohana,Php,Mysql,Sorting,Kohana,我正在对数据库中的结果进行排序,但对于其中一个结果,我希望首先显示特定的值,下面是我当前按照store\u typeDESC对其进行排序的方式 elseif (Session::Instance()->get('country') == 'it') { $stmt->order_by('`store_type`', 'DESC'); 这很好,但是我想更改顺序,以便首先显示id为8、9、10的值,然后显示所有其他结果,目前它从i

我正在对数据库中的结果进行排序,但对于其中一个结果,我希望首先显示特定的值,下面是我当前按照
store\u type
DESC
对其进行排序的方式

elseif (Session::Instance()->get('country') == 'it') {
                            $stmt->order_by('`store_type`', 'DESC');
这很好,但是我想更改顺序,以便首先显示id为8、9、10的值,然后显示所有其他结果,目前它从id为13开始,因为这是我的表的末尾,它正在排序
DESC


有谁能为我指出如何实现这一目标的正确方向吗?我正在使用Kohana框架。

如果我理解正确,您必须使用ASC更改DESC

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

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

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

如果您要求的是升序,那么只需将DESC替换为ASC即可。如果您不想要这样的ans,那么请详细说明,以便我们可以帮助您

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

不太清楚,因为我的结果的id范围是1-13,所以如果我更改为ASC,它将从1开始,但我希望它首先从8,9,10开始,然后显示其余的。