2009-04-24 59 views
0

我有一個表(比如表A)與下面的模式SQL嚴格按日期列

A(int) B(int) D (varchar) C(date) 

如果我寫的查詢

select A, C from TableA where A >=0 order by A asc, B asc, D asc, C asc. 

查詢的最後一行強制的秩序,有C日期列是最大的(我的意思是這裏最新的比所有其他日期更長)。 這是正確的嗎? 我已經驗證了一個小的查詢表中,但要覈實,根據日期查詢而執行嚴格的排序,這是

select A, C from TableA where A >=0 order by C asc. 

回答

3

的順序,由優先級爲從左到右所以,如果唯一的選擇你希望日期成爲主要的排序字段,需要以下內容。

select A, C from TableA where A >=0 order by C asc, A asc, B asc, D asc 

您提供的第二個查詢是按照日期順序進行的,但是您已經失去了所有其他排序條件。