我想知道如何从表格中的列中选择两个最近的日期。请参阅下面的简单示例。我知道要获得最大日期我可以使用max函数。我还意识到我可以使用where条件执行另一个max语句,该条件声明它必须小于我的第一个max查询返回的第一个日期。我想知道是否有一种方法可以在一个查询中执行此操作?
Name DateAdded
ABC 2014-04-20
ABC 2014-04-20
ABC 2014-03-01
ABC 2014-03-01
ABC 2014-02-25
ABC 2014-05-22
ABC 2014-04-01
应该退回的两个日期是最近的两个日期,即2014-05-22& 2014年4月20日
修改
对不起我应该提到是的我想要两个不同的日期。该表很大,日期没有排序。我认为排序表可能会很慢。
答案 0 :(得分:1)
SELECT distinct top 2 Dateadded
FROM table
ORDER BY Dateadded desc
答案 1 :(得分:0)
select top(2) DateAdded
from table
order by DateAdded DESC
答案 2 :(得分:0)
试试这个:
select distinct top(2) format(Dateadded ,'yyyy-MM-dd') as Dateadded from TableName order by Dateadded DESC