我认为这是一个简单的问题,但我找不到一个简单的答案。我需要按日期检索最后2个条目。我用max()来获取最新的日期;但不知道如何检索下一个最近的。
最新日期的存储过程代码为:
SELECT *
FROM Table
WHERE Date=(SELECT MAX(Date) FROM Table);
因此,如何使用单独的程序如何获得下一个最新的程序?
答案 0 :(得分:3)
您可以使用order by
和top
:
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