在线人数统计 sql
--在线人数统计走势图需求据RecordUserEnter(userid,logintime) RecordUserLeave(userid,quittime)两个表得到(时间,在线人数)
如:据时间段timestart到timeend
(1)、如果时间段间隔在2个月之内效果如下:
时间 在线人数
2009-11-01 3
2009-11-02 5
2009-11-03 4
2009-11-04 0
2009-11-05 8
2009-11-06 9
(2)、如果时间段间隔在2个月之上小于2年效果如下:
时间 在线人数
2009-01 31
2009-02 523
2009-03 44
2009-04 75
2009-05 85
2009-06 92
(3)、如果时间段间隔在2年之上效果如下:
时间 在线人数
2001 0
2002 0
2003 440
2004 750
2005 850
2006 920
注:如果哪一天或哪一月或哪一年根本就没有人在线也就是没有记录,但也要统计那个时间的在线人数
像这样的sql存储过程怎么写啊? --------------------编程问答-------------------- 没有的值可以在后台代码中得到查询结果后添加,在SQL中不知道怎么弄 --------------------编程问答-------------------- 对咯这个是我写的一个sql,能够达到
时间 在线人数
2009-11-01 3
2009-11-02 5
2009-11-03 4
2009-11-04 0
2009-11-05 8
2009-11-06 9
这个效果,希望大家帮我完善下
create table Info
(
tm datetime,
sm int
)
go
insert info
select '2009-01-01',3 union all
select '2009-01-02',10 union all
select '2009-01-02',5 union all
select '2009-01-02',7
alter procedure getDateInfo
(
@beginDate datetime,
@endDate datetime
)
as
create table #temp
(
ll datetime
)
while(@beginDate<=@endDate)
begin
insert into #temp values(@beginDate)
set @beginDate=DATEADD(d,1,@beginDate)
end
select a.ll,count(b.sm) from #temp as a left join Info as b on a.ll=b.tm group by a.ll
go
getDateInfo '2009-01-01','2009-02-10'
补充:.NET技术 , C#