2011-02-17 48 views
0

我正在尋找一個技巧,如何排序: 我有2列:狀態(數值)和修改日期(日期)。mysql按2列依賴項排序

如果狀態< 9(用於我,如果情況是不關閉的) - 它應該是「以通過狀態,modification_date

如果狀態= 9(如果情況下是關閉的) - 它應該被排序」,以便通過狀態,modification_date DESC

所以 - 如果我的情況不是封閉的 - 他們應該是第一個按時間順序排列,但如果是封閉的 - 他們應該是相反的順序(最新的在前)

我希望,我可以做UNION,但是不可能在兩個部分都使用「order by」(或者我可能做錯了)

可以嗎?

回答

0
ORDER BY status, 
     IF(status < 9, 1, -1) * modification_date 
+0

哇,我真的很感動 - 這是這麼簡單的解決方案:)很多,很多謝謝 – user622325 2011-02-20 23:38:42