我有一些包含2个日期字段的数据:record date
和purchase date
。
记录日期是每个月的第一天:
2016-01-01
2016-02-01
2016-03-01
购买日期是购买产品的日期:
2015-02-14
2016-01-06
我需要做的是记录每个记录日期的最近购买日期。所以不是最近的购买日期,这是MAX(purchasedate)
给我的。但是最大购买日期是在记录日期之前。
因此,我上面列出的示例的结果数据集将是:
Record Date Most Recent Purchase Date
2016-01-01 2015-02-14
2016-02-01 2016-01-06
2016-03-01 2016-01-06
答案 0 :(得分:1)
您可以使用窗口功能max
按照增加record_date的顺序查找最新购买:
select record_date,
max(purchase_date) over (
order by record_date
) as latest_purchase_date
from your_table;
答案 1 :(得分:0)
您可以试试这个:
select recordDate, max(purchaseDate) from myDB
group by recordDate
我假设SQL Server。