2013-03-15 30 views
0

如果我有兩個colums:MySQL的順序由兩個colums(之前和現在後)

number | vip_date 
22  | 22.03.2013 
32  | 12.01.2013 
38  | NULL 
44  | 06.01.2013 
20  | 30.03.2013 
10  | NULL 

我希望使用數字和日期,所以我做這樣的事情...... ORDER BY number DESC, vip_date DESC進行排序。

結果按日期排序,空行的2行按數字排序。 問題是,如何使用NOW()後面的日期排序,並按NOW()之前的數字順序排序?

回答

0

如果行是空你可以比較和排序後:

ORDER BY number DESC, (vip_date IS NULL) ASC, vip_date DESC 

(vip_date IS NULL)1如果行是NULL,並0如果它不是。因此,0在1之前(這就是爲什麼我們按升序排序)。