Stored procedure to output date differences
Using a CASE expression, I think you could do something like this:

Declare @T table (ID int,creation_date date,process_date date,done_date date)

insert into @T(id,creation_date,process_date,done_date) values
(1,'2018-01-01','2018-01-01','2018-01-01')
,(1,'2018-01-01','2018-01-01','2018-01-01')
,(1,'2018-01-01','2018-01-03','2018-01-01')
,(1,'2018-01-01','2018-01-03','2018-01-02')
,(1,'2018-01-01','2018-01-03','2018-01-03')

SELECT ID
    ,sum(CASE 
            WHEN process_date = creation_date
                THEN 1
            ELSE 0
            END) AS 'P=C'
    ,sum(CASE 
            WHEN process_date = (dateadd(day, 1, creation_date))
                THEN 1
            ELSE 0
            END) AS 'P=C+1'
    ,sum(CASE 
            WHEN process_date &gt;= (dateadd(day, 2, creation_date))
                THEN 1
            ELSE 0
            END) AS 'P=C+2+'
    ,sum(CASE 
            WHEN done_date = creation_date
                THEN 1
            ELSE 0
            END) AS 'D=C'
    ,sum(CASE 
            WHEN done_date = (dateadd(day, 1, creation_date))
                THEN 1
            ELSE 0
            END) AS 'D=C+1'
    ,sum(CASE 
            WHEN done_date &gt;= (dateadd(day, 2, creation_date))
                THEN 1
            ELSE 0
            END) AS 'D=C+2+'
FROM @T
GROUP BY ID




| ID | P=C | P=C+1 | P=C+2+ | D=C | D=C+1 | D=C+2+ |
|----|-----|-------|--------|-----|-------|--------|
| 1  | 2   | 0     | 3      | 3   | 1     | 1      |