微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从列中提取最新 2 个日期的 SQL 查询

如何解决从列中提取最新 2 个日期的 SQL 查询

一列仅包含日期。我需要从表中提取最新的 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。