select right(convert(varchar(20),date,120),2),sum(in) as in,sum(out) as out from table where left(convert(varchar(20),date,120),4) = '2004'
group by right(convert(varchar(20),date,120),2)
select 天=a.[day]
,[in合计]=sum([in])
,[out合计]=sum([out])
from(
select [day]=1
union all select 2
union all select 3
....
union all select 31
)a left join 你的表 b on a.[day]=day(b.date)
group by a.[day]