SQL Project Planning

  • + 0 comments

    MS-SQL

    WITH seq AS ( SELECT Start_Date, End_Date, DATEADD(day, -ROW_NUMBER() OVER (ORDER BY End_Date), End_Date) AS grp, -ROW_NUMBER() OVER (ORDER BY End_Date) AS dd FROM Projects ), projects AS ( SELECT MIN(Start_Date) AS start_date, MAX(End_Date) AS end_date, DATEDIFF(day, MIN(Start_Date), MAX(End_Date)) AS duration_days FROM seq GROUP BY grp ) SELECT start_date, end_date FROM projects ORDER BY duration_days ASC, start_date ASC;