teradataSQL查询,从一列中提取最近2个日期



一列只包含日期。我需要从表中提取最近的两个日期。最好的方法是什么?

示例:日期列为01-01-202101-02-202101-03-2021的表中的值我需要01-02-2021,01-03-2021作为我的输出。

您可以使用rank()(如果没有重复数据,则使用row_number()(:

select t.*
from t
qualify rank() over (order by datecol desc) <= 2;

注意:如果你想要不同的值,你也可以使用:

select distinct datecol
from t
order by datecol desc
limit 2;

您可以对列进行排序,然后选择需要的前X个元素

Select Top 2 col_Date
from MyTable
Order by col_Date DESC

返回的结果将是一列如果您需要一个字符串,有一个函数可以提供帮助:string_SPLIT

最新更新