我得到了ID&产品&收入,当我使用最大(biling日期((见代码(。我只想要Id&产品&最近帐单日期的收入。
select Id, product, product_category, Revenue, max(Billing_date)
from Table1
group by 1,2,3,4
数据具有不同的产品组合&收入&计费日期(它是一个事务表(。但我只想在最近的账单日期组合ID+产品+产品类别收入。(不是最大值(billing_date(的Id和prodcut组合的整个事务历史记录(。
有不同的ID/Product组合,所以我需要获得最新数据的ID/Project组合。类似id001+ProdcutA+Dec122020id001+ProdcutB+12020年12月12日&NOTid001+ProdcutC+Nov122020。
使用窗口函数的典型解决方案:
select Id, product, product_category, Revenue, Billing_date
from (select t1.*,
rank() over (order by billing_date desc) as seqnum
from Table1 t1
) t1
where seqnum = 1;
如果您想要每个id
/product
组合的最新计费日期,请使用partition by
:
rank() over (partition by id, product order by billing_date desc) as seqnum