mySQL按某些值排序然后是DESC?

Lat*_*tox 5 php mysql sql

假设我有一个mySQL表,其中有一个名为"name"的字段

该字段每行包含一个名称.

有10行:

Apple
Pear
Banana
Orange
Grapefruit
Pineapple
Peach
Apricot
Grape
Melon
Run Code Online (Sandbox Code Playgroud)

我将如何形成一个查询,以便从表中选择,我希望详细信息显示如下:

Peach
Apple
Apricot
... and then everything else is listed by descending order.
Run Code Online (Sandbox Code Playgroud)

所以基本上我想在列表的顶部显示一些指定的结果,然后其他结果按降序排列.

谢谢.

mu *_*ort 7

你可以这样做:

select *
from fruit
order by
    case name
        when 'Peach'   then 1
        when 'Apple'   then 2
        when 'Apricot' then 3
        else 4
    end,
    name
Run Code Online (Sandbox Code Playgroud)

这应该适用于任何SQL数据库.


Jon*_*FTW -1

由于您使用的是 php,因此您可以将答案读入数组中,在顶部弹出所需的元素,将它们存储在临时数组中。按字母顺序对原始数组进行排序,然后在临时数组前面添加。