SQL Project Planning

  • + 0 comments

    with cte as( select min(start_date) as min_start_date from projects),

    TaskGroups AS ( SELECT Task_ID, Start_Date, End_Date, ROW_NUMBER() OVER (ORDER BY Start_Date) - DATEDIFF(DAY, (select min_start_date from cte), Start_Date) AS GroupID FROM Projects ), cte2 as( SELECT MIN(Start_Date) AS Project_Start_Date, MAX(End_Date) AS Project_End_Date, COUNT(*) AS Project_Days FROM TaskGroups GROUP BY GroupID

    )

    select Project_Start_Date, Project_end_Date from cte2 order by project_days, project_start_date