1. 以一个月作为统计单位
2. 每日登录人数
3. 每日帐号登录数
4. 每日最高在线人数
tb1
在线人数
记录时间怎么用一句sql语句写出来如:时间 登录人数 帐号登录数 最高在线人数
2010-01-01 100 203 111
…… …… …… ……
2. 每日登录人数
3. 每日帐号登录数
4. 每日最高在线人数
tb1
在线人数
记录时间怎么用一句sql语句写出来如:时间 登录人数 帐号登录数 最高在线人数
2010-01-01 100 203 111
…… …… …… ……
from table1
where 记录时间='2010-01'
group by 记录时间
在线人数
记录时间 tb2帐号登陆
ID
记录时间
登录数据 0 - logout 1 - login 2 - double login
玩家记录IP
---------------------------------------------------
时间 帐号登录 最高在线人数
玩家Unit ID
记录时间
记录时间 0 - logout 1 - login 2 - double login
————————————-——
SELECT * FROM tb 得到如下:
玩家Unit ID 记录时间 记录时间
65343426301916418 2010-12-15 11:20:59.403 0
65343426301916420 2010-12-15 11:32:23.247 0
65343426301916419 2010-12-15 11:54:19.403 0
162442 2010-12-15 14:30:28.123 0
162192 2010-12-15 14:31:48.153 0
162192 2010-12-15 14:34:46.390 0
1503 2010-12-15 14:34:46.530 0
162192 2010-12-15 14:35:31.357 0
162192 2010-12-15 14:37:57.903 0
162192 2010-12-15 14:40:40.437 0
847 2010-12-15 14:42:31.140 0
196363 2010-12-15 14:51:01.937 0
196363 2010-12-15 15:04:17.763 0
628 2010-12-15 15:15:59.903 2
628 2010-12-15 15:16:00.107 0——————————————————————我要的结果是:distinct重复的ID 算出每日登录的帐号有多少
[code=SQ]
select a.记录时间, a.登录人数, a.帐号登录数, b.最高在线人数
from (
select 记录时间=convert(varchar(10),记录时间,120),帐号登录数=count([玩家Unit ID]), 登录人数=count(distinct [玩家Unit ID])
from tb2
group by convert(varchar(10),记录时间,120)
) a join (
select 记录时间=convert(varchar(10),记录时间,120),最高在线人数=max(在线人数)
from tb1
group by convert(varchar(10),记录时间,120)
) b on a.记录时间 = b.记录时间
order by a.记录时间
[/code]
如果有多表,表之间如何关联?
[/code]发帖注意事项
http://topic.csdn.net/u/20091130/21/fb718680-98ff-4afb-98d8-cff2f8293ed5.html?24281