ORACLE 统计连续的日期




为了统计连续为空的日期,有如下

 

 

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

 

打赏

取消 我去学网

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少
微信

打开微信扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

  1. #2

    木庄网络博客(2016/10/28 11:41:03)
    不错的网站主题,看着相当舒服

  2. #1

    木庄网络博客(2016/10/14 21:02:39)
    博客做得好漂亮哦!