试试这个。您已经完成了困难的部分。您只需要分组
Value并获得与之关联的第一个(即
MIN)
Date:
WITH AllDays AS ( SELECt CAST('20120101' as datetime) AS days UNIOn ALL SELECT DATEADD(dd, 1, days) FROM AllDays WHERe DATEADD(dd, 1, days) < cast('20120201' as datetime)), V AS ( SELECt MIN(ad.days) AS Date, ISNULL((SELECT SUM(value) FROM jobs WHERe dateinvoiced >= CAST('20120101' as datetime) AND dateinvoiced <= ad.days)/100,0) AS Value FROM AllDays AS ad LEFT JOIN jobs AS j ON (ad.days = j.dateinvoiced) GROUP BY ad.days)SELECt MIN(Date) Date, ValueFROM VGROUP BY Value;


