2015-07-13 31 views
1

排序非字母我想把这个查询在MySQL

select * from candidatelist 

具有包括只有三个值之前,主动和休眠列状态的结果进行排序。

以上查询的结果应该按照第一次显示Pending,然后Active和然后Dormant排序,不按字母顺序排列。在每种状态类型中,条目应按字母顺序排列。

表结构

ID,名称,状态

一个例子

2. Nidheesh  Pending 
3. Rahul   Pending 
25. Hari   Active 
1. Kamal   Active 
6. Heinz   Dormant 

像这样

+0

显示其值 –

+0

嘛[这](http://www.techonthenet.com/sql/order_by.php)带我搜索的10秒你的表结构。那么是不是能够通过自己的方式进行搜索?或者这里的实际问题是什么? – ckruczek

+0

我有列状态。该列对于每行只有3个值Pending,Active和Dormant。我想先分类为Pending,然后是Active,然后是Dormant。 –

回答

4

在这里,你首先需要自定义排序基础上,status列,然后按字母顺序排列。所以第一次排序可以使用MySQL的Field()来完成,其他顺序是正常的。因此,您的查询就会变成:

select * from candidatelist 
order by FIELD(status,'Pending','Active','Dormant'), name