我的数据如下所示,
现在我想得到结果,
DateDisplayName Active
Q2(Jun)-2015 736
Q3(Sep)-2015 734
Q4(Dec)-2015 NULL
Q1(Mar)-2016 NULL
因此,如果上个月的数据在该季度为空,则获得最后一个数据。 例如:在Q3中,9月的活动为空,所以我应该显示8月的数据。
答案 0 :(得分:2)
你会对你的记录进行排名。使用ROW_NUMBER
为每季度第1行提供最佳记录,然后仅保留这些记录。
select
date_display_name,
active
from
(
select
date_display_name,
active,
row_number() over
(
partition by date_display_name
order by
case when active is null then 2 else 1 end,
defaultdate desc
) as rn
from mytable
) ranked
where rn = 1;