数据库自定义排序顺序

时间:2015-01-10 17:50:21

标签: php mysql sql database sorting

我想订购会员的角色。喜欢:

Leaders 
Co Leaders
Elders
Members

但是当我使用ORDER BY时,它会根据字母顺序排序。那就是:

Co Leaders
Elders 
Leaders
Members

是否可以像那样进行排序?

3 个答案:

答案 0 :(得分:3)

您可以尝试ORDERFIELD

ORDER BY FIELD(your_field, 'Leaders' , 'Co Leaders', 'Elders', 'Members')

答案 1 :(得分:0)

将列添加为sort_order int(10) default 0;

现在将值设置为sort_order = 0,其中member_role = Leaders,1为Co Leaders和其他。

然后ORDER BY sort_order

答案 2 :(得分:0)

使用也可以使用Case statement来自定义订单。

order by case columnname 
              when 'Leaders' then 1 
              when 'Co Leaders' then 2
              when 'Elders' then 3
              when 'Members' then 4
         End