检索SQL Server的最后一个日期

时间:2017-11-14 19:54:08

标签: sql sql-server-2008 max

我认为这是一个简单的问题,但我找不到一个简单的答案。我需要按日期检索最后2个条目。我用max()来获取最新的日期;但不知道如何检索下一个最近的。

最新日期的存储过程代码为:

SELECT *
FROM Table
WHERE Date=(SELECT MAX(Date) FROM Table);

因此,如何使用单独的程序如何获得下一个最新的程序?

2 个答案:

答案 0 :(得分:3)

您可以使用order bytop

select top 2 t.*
from t
order by date desc;

答案 1 :(得分:0)

或者只是按照你的说法获得下一个最新的...因此只返回一行......

select top 1 t.*
from t
where t.date != (select max(date) from table)
order by date desc;

...或

with cte as(
select
   t.*
   ,row_number() over (order by t.date desc) as RN
from table t)

select *
from cte
where RN = 2