assuming your date field is date, it will be something likeSELECT DATEADD(mm,DATEDIFF(mm,0,date),0) AS MonthDate,SUM(SalesField) AS Sales INTO #TempFROM YourTableWHERE date >= DATEADD(yy,DATEDIFF(yy,0,GETDATE())-1,0)AND date<DATEADD(yy,DATEDIFF(yy,0,GETDATE())+1,0)GROUP BY DATEADD(mm,DATEDIFF(mm,0,date),0)SELECT (t.Sales-t1.Sales)*100.0/t1.SalesFROM #Temp tCROSS APPLY (SELECT Sales FROM #Temp WHERE MONTH(MonthDate)=MONTH(t.MonthDate) AND YEAR(MonthDate)=YEAR(t.MonthDate)-1 )t1