如何选择给定ID和日期的最后一个非空值



我试图选择列中的最后一个值,该列不是空白的(技术上不是非空的),并为之后的每个日期选择它,直到该值发生变化,然后选择该值,等等。

我有什么:

previous_sales_stage

可以使用子查询或OUTER APPLY,如下所示:

SELECT t1.company_id, t1.date, t1.sales_stage, x.previous_sales_stage
FROM #blah t1
OUTER APPLY (
SELECT TOP 1 t2.sales_stage AS previous_sales_stage
FROM #blah t2 
WHERE t2.company_id=t1.company_id
AND t2.date<t1.date
AND t2.sales_stage<>t1.sales_stage
ORDER BY t2.date DESC
) x

相关内容

  • 没有找到相关文章

最新更新