为了统计连续为空的日期,有如下
SELECT TEST_1 参数,COUNT(TEST_1) 连续为空日期 FROM (
SELECT MONTH_CODE,
DATE_CODE,
DATE_CODE2,
DATE_NUM1,
DATE_NUM2,
CASE WHEN DATE_CODE2 IS NULL THEN DATE_NUM1-DATE_NUM2 END TEST_1
FROM (
SELECT
A.MONTH_CODE,
A.DATE_CODE,
B.DATE_CODE DATE_CODE2,
ROW_NUMBER() OVER(PARTITION BY A.MONTH_CODE ORDER BY A.DATE_CODE ASC) DATE_NUM1,
ROW_NUMBER() OVER(PARTITION BY A.MONTH_CODE ORDER BY CASE WHEN B.DATE_CODE IS NULL THEN A.DATE_CODE END ASC) DATE_NUM2
FROM BIDW.D_DATE A
LEFT JOIN BIDW.D_DATE B ON A.DATE_CODE = B.DATE_CODE AND B.DATE_CODE NOT IN(DATE'2023-01-07',DATE'2023-01-14',DATE'2023-01-15')
WHERE A.DATE_CODE BETWEEN DATE'2023-01-06' AND DATE'2023-01-15'
)
)
GROUP BY TEST_1
木庄网络博客(2016/10/28 11:41:03)
不错的网站主题,看着相当舒服