一列仅包含日期。我需要从表中提取最新的 2 个日期。最好的方法是什么?
示例:表中的值具有日期列为01-01-2021
, 01-02-2021
,01-03-2021
我需要01-02-2021,01-03-2021
作为我的输出。
一列仅包含日期。我需要从表中提取最新的 2 个日期。最好的方法是什么?
示例:表中的值具有日期列为01-01-2021
, 01-02-2021
,01-03-2021
我需要01-02-2021,01-03-2021
作为我的输出。
您可以对列进行排序,然后选择您需要的前 X 个元素
Select Top 2 col_Date
from MyTable
Order by col_Date DESC
返回的结果将是一列如果您需要一个字符串,有一个函数可以提供帮助:STRING_SPLIT
您可以使用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;