sql月度分组_SQLserver实现分组统计查询(按月、小时分组)

设置AccessCount字段可以根据需求在特定的时间范围内如果是相同IP访问就在AccessCount上累加。

Create table Counter

(

CounterID int identity(1,1) not null,

IP varchar(20),

AccessDateTime datetime,

AccessCount int

)

该表在这儿只是演示使用,所以只提供了最基本的字段

现在往表中插入几条记录

insert into Counter

select '127.0.0.1',getdate(),1 union all

select '127.0.0.2',getdate(),1 union all

select '127.0.0.3',getdate(),1

1 根据年来查询,以月为时间单位

通常情况下一个简单的分组就能搞定

select

convert(varchar(7),AccessDateTime,120) as Date,

sum(AccessCount) as [Count]

from

Counter

group by

convert(varchar(7),AccessDateTime,120)

像这样分组后没有记录的月份不会显示,如下:

这当然不是我们想要的,所以得换一种思路来实现,如下:

declare @Year int

set @Year

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值