2013-05-14 69 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

相關問題