以下是用户登录访问表(loginT):
name ip logintime
---------------------------------------------------------------------------------------
张三 11.22.33.44 2009-01-01 0:00:00
李四 22.33.44.55 2009-01-02 0:00:00
张三 11.22.33.44 2009-01-04 0:00:00
王五 33.44.55.66 2009-01-04 0:00:00
赵六 23.34.56.78 2009-02-01 0:00:00
李四 210.57.32.34 2009-02-18 0:00:00想要统计出如下效果:月份 人数 独立IP
----------------------------------------
2009-01 3 3
2009-02 2 2请问语句应该怎么写?
name ip logintime
---------------------------------------------------------------------------------------
张三 11.22.33.44 2009-01-01 0:00:00
李四 22.33.44.55 2009-01-02 0:00:00
张三 11.22.33.44 2009-01-04 0:00:00
王五 33.44.55.66 2009-01-04 0:00:00
赵六 23.34.56.78 2009-02-01 0:00:00
李四 210.57.32.34 2009-02-18 0:00:00想要统计出如下效果:月份 人数 独立IP
----------------------------------------
2009-01 3 3
2009-02 2 2请问语句应该怎么写?
--插入数据
insert into @t
select '张三','11.22.33.44','2009-01-01' union
select '李四','22.33.44.55','2009-01-02' union
select '张三','11.22.33.44','2009-01-04' union
select '王五','33.44.55.66','2009-01-04' union
select '赵六','23.34.56.78','2009-02-01' union
select '李四','210.57.32.34','2009-02-18'
select convert(varchar(7),logintime,120),count(distinct ip),count(distinct name) from @t
group by convert(varchar(7),logintime,120)
group by left(logintime,7)
order by left(logintime,7)