यह मेरा प्रस्तावित समाधान है:
DECLARE @MinDate AS DATETIME = (SELECT MIN(flight_date) FROM flights);
WITH cte
AS
(
SELECT
flight_date, DATEDIFF(DAY, @MinDate, flight_date) AS NoDays,
DATEDIFF(DAY, @MinDate, flight_date)/5 AS NoGroup,
DPT
FROM flights
)
SELECT
DATEADD(DAY, NoGroup*5, @MinDate) AS [Week Start],
DATEADD(DAY, NoGroup*5+4, @MinDate) AS [Weed End],
SUM(DPT)
FROM cte
GROUP BY NoGroup;
विचार 5 दिनों के समूह बनाने का है, फिर एक रिकॉर्ड को 5 के साथ विभाजन के आधार पर एक विशिष्ट समूह से जोड़ना है। NoDays MinDate से Flight_Date तक बिताए गए दिनों का प्रतिनिधित्व करता है।