2009-04-24 60 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 

您提供的第二个查询是按照日期顺序进行的,但是您已经失去了所有其他排序条件。