当多个记录具有相同日期时过滤 SQL 中的最大日期
Filtering for Max Date in SQL when Multiple Records have the Same Date
我有一个包含以下字段的数据集:building_id
、lease_id
、date_signed
我正在尝试为每个 building_id 签署最新的租约。我 运行 遇到的问题是,建筑物中的几份租约的签署日期相同,我只想包括其中一份。我一直在使用 SnowSQL 并正在研究使用 Rank window 函数,但这会为建筑物中具有相同日期的记录提供相同的排名值。
有没有一种方法可以只提取每栋建筑物最近租赁日期的一个值,即使有多个租赁日期相同?我还需要知道它与哪个租约相关联。谢谢!
使用 row_number()
而不是 rank()
。类似于:
select t.*
from t
qualify row_number() over (partition by building_id order by date_signed desc) = 1;
我有一个包含以下字段的数据集:building_id
、lease_id
、date_signed
我正在尝试为每个 building_id 签署最新的租约。我 运行 遇到的问题是,建筑物中的几份租约的签署日期相同,我只想包括其中一份。我一直在使用 SnowSQL 并正在研究使用 Rank window 函数,但这会为建筑物中具有相同日期的记录提供相同的排名值。
有没有一种方法可以只提取每栋建筑物最近租赁日期的一个值,即使有多个租赁日期相同?我还需要知道它与哪个租约相关联。谢谢!
使用 row_number()
而不是 rank()
。类似于:
select t.*
from t
qualify row_number() over (partition by building_id order by date_signed desc) = 1;