试试这个
select
AVG(case when
[date]>=DATEADD(year, datediff(year,0,getDate())-1, 0) and
[date]<DATEADD(year, datediff(year,0,getDate()), 0)
then Expenses end)
as average_ytd,
sum(case when
[date]>=DATEADD(year, datediff(year,0,getDate())-1, 0) and
[date]<DATEADD(year, datediff(year,0,getDate()), 0)
then Expenses else 0 end)
as actual_ytd,
sum(case when
[date]>=DATEADD(year, datediff(year,0,getDate())-2, 0) and
[date]<DATEADD(year, datediff(year,0,getDate())-1, 0)
then Expenses else 0 end)
as lat_year_ytd
from
table1
非常好...我从你们那里学到很多东西。 –
做了一个改进,你硬编码2012年(CONVERT(VARCHAR(25),DATEADD(dd, - (DAY(getdate()) - 1),getdate()),101)) –
您好!而DATEPART(date,getdate())更容易。我现在只是简单地编辑它。 –