2013-05-14 70 views
0

我正在寻找以特定方式订购数据,我已经明确地列出了我想首先出现哪些字段。基本上,我希望通过做一些事情,我会想象可能是这样的返回一个MySQL查询:如何通过MySQL中的多个字段进行排序?

ORDER BY 
    FIELD(brand,'toyota','honda','ford'), 
    FIELD(type, 'SUV', 'Sedan', 'Coupe'), 
    FIELD(transmission, 'manual', 'automatic', 'cvt') 

简单地说我正在寻找一种方式来订购专门基于多个领域的东西。我试过这样,但它似乎并没有工作。这甚至可以完成,或者在我指定一个字段的顺序之后,我只需要通过ASC或DESC命令其他的东西?

感谢您的帮助!

+1

你能用http://sqlfiddle.com/展示如何它不工作? –

回答

1

也许是这样的?

SELECT brand, type, transmission  
FROM tablename 
ORDER BY 
case brand 
    when 'toyota' then 1 
    when 'honda' then 2 
    when 'ford' then 3 
end ASC, 
case type 
    when 'SUV' then 1 
    when 'Sedan' then 2 
    when 'Coupe' then 3 
end ASC, 
case transmission 
    when 'manual' then 1 
    when 'automatic' then 2 
    when 'cvt' then 3 
end ASC 

http://www.devx.com/tips/Tip/17288

相关问题