sqlserver语句,按周分组统计数据,请各位大神指教小弟。 200
sqlserver语句,按周分组统计数据,如果2014年1月1号所在的周不够7天,则往上一年加几天作为一个自然周,如果2014年12月31号所在的周不够7天,则舍弃31号...
sqlserver语句,按周分组统计数据,如果2014年1月1号所在的周不够7天,则往上一年加几天作为一个自然周,如果2014年12月31号所在的周不够7天,则舍弃31号所在周的数据。
就是统计一年52周的数据。 展开
就是统计一年52周的数据。 展开
展开全部
---把getdate()替换成你的日期字段就可以了, between and的2个日期分别是你说的2个年头年尾的情况
select case when getdate()>=cast('2014/1/1' as datetime) then datepart(week,getdate()) else 1 end as 第几周
--from table_name
where getdate() between (case when datepart(weekday,cast('2014/1/1' as datetime))<>1 then
cast('2014/1/1' as datetime)-datepart(weekday,cast('2014/1/1' as datetime))+2
end )
and
(case when datepart(weekday,cast('2014/12/31' as datetime))<>6 then
cast('2014/12/31' as datetime)-datepart(weekday,cast('2014/12/31' as datetime))+1
end )
select case when getdate()>=cast('2014/1/1' as datetime) then datepart(week,getdate()) else 1 end as 第几周
--from table_name
where getdate() between (case when datepart(weekday,cast('2014/1/1' as datetime))<>1 then
cast('2014/1/1' as datetime)-datepart(weekday,cast('2014/1/1' as datetime))+2
end )
and
(case when datepart(weekday,cast('2014/12/31' as datetime))<>6 then
cast('2014/12/31' as datetime)-datepart(weekday,cast('2014/12/31' as datetime))+1
end )
更多追问追答
追答
select 第几周,sum(vavg)
from ...
group by 第几周
order by 1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询