SQL Server查询,动态查询一年数据,每个月数据分组

查询一年数据,每个月数据分组,分组时间为,本月一号八点到下个月一号八点,除了使用union拼接还有什么其他的方法吗

时间字段向前调8小时,然后按正常的月分组统计
在这里插入图片描述

select ISNULL(b.count,0) as count,a.month from (
	select 1 as month
		union
		select 2 as month
		union
		select 3 as month
		union
		select 4 as month
		union
		select 5 as month
		union
		select 6 as month
		union
		select 7 as month
		union
		select 8 as month
		union
		select 9 as month
		union
		select 10 as month
		union
		select 11 as month
		union
		select 12 as month
	)a
left join (
	select count(1) as count,a.month as month from (
		select distinct left(bf.pdctno,10) as pdctno ,left(bf.batchno,6) as batchno,datepart(month,dateadd(hour,-8,bf.indate)) as month
		from bfjlb bf 
		where datepart(year,dateadd(hour,-8,bf.indate)) = datepart(year,GETDATE())
		)a
		group by a.month
	)b on a.month = b.month
order by a.month

查询结果如下:
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值