Count records per month with condition

后端 未结 3 1944
一生所求
一生所求 2021-01-26 16:10

I have a table, let\'s call them SUMMARYDATA

NIP  NAME   DEPARTMENT       STATUSIN           STATUSOUT               LATECOME
-----------------------         


        
3条回答
  •  耶瑟儿~
    2021-01-26 16:29

    try the following:

    ;WITH cte AS 
    (
        SELECT DISTINCT [NAME], DEPARTMENT, MONTH(STATUSIN) [MONTH], YEAR(STATUSIN) [YEAR], 
            SUM(CASE WHEN LATECOME = '00:00:00' THEN 0 ELSE 1 END) OVER(PARTITION BY [NAME], DEPARTMENT, MONTH(STATUSIN), YEAR(STATUSIN) ORDER BY [NAME]) Total
        FROM SUMMARYDATA
    )
    
    SELECT DEPARTMENT, [MONTH], [YEAR], SUM(CASE WHEN TOTAL > 2 THEN 1 ELSE 0 END) LATECOME
    FROM cte
    GROUP BY DEPARTMENT, [MONTH], [YEAR] 
    

    Please find the db<>fiddle here.

提交回复
热议问题