表:
id loginTime exitTime playerid
1 2008-05-28 09:38:17.000 2008-05-28 09:53:36.000 14958
2 2008-05-28 09:42:59.000 2008-05-28 10:18:00.043 14959
3 2008-05-28 09:48:00.000 2008-05-28 10:18:00.043 14960
4 2008-05-28 09:49:38.000 2008-05-28 09:49:49.000 14961
5 2008-05-28 09:49:49.000 2008-05-28 10:18:00.043 14961
要求:统计 '2008-06-10 18:00'以后的,玩家在线时间统计,注意:如果是新人而且还在线那他的退出时间默认是‘'2000-1-1' ’这个统计的时候要按照当前时间统计。我写的sql 但是报错,为什么?大家帮忙啊?
select playerid, sum( datediff (n, loginTime,case exitTime when '2000-1-1' then getdate()))
from loginRecord
where logintime >'2008-06-10 18:00'
group by playerid
id loginTime exitTime playerid
1 2008-05-28 09:38:17.000 2008-05-28 09:53:36.000 14958
2 2008-05-28 09:42:59.000 2008-05-28 10:18:00.043 14959
3 2008-05-28 09:48:00.000 2008-05-28 10:18:00.043 14960
4 2008-05-28 09:49:38.000 2008-05-28 09:49:49.000 14961
5 2008-05-28 09:49:49.000 2008-05-28 10:18:00.043 14961
要求:统计 '2008-06-10 18:00'以后的,玩家在线时间统计,注意:如果是新人而且还在线那他的退出时间默认是‘'2000-1-1' ’这个统计的时候要按照当前时间统计。我写的sql 但是报错,为什么?大家帮忙啊?
select playerid, sum( datediff (n, loginTime,case exitTime when '2000-1-1' then getdate()))
from loginRecord
where logintime >'2008-06-10 18:00'
group by playerid
from loginRecord
where logintime >'2008-06-10 18:00'
group by playerid
from loginRecord
where logintime >'2008-06-10 18:00'
group by playerid
select playerid, sum( datediff (n, loginTime,case exitTime when '2000-1-1' then getdate()) end)
from loginRecord
where logintime >'2008-06-10 18:00'
group by playerid
这个n是什么意思?取的是时间的哪个部分
from loginRecord
where logintime >'2008-06-10 18:00'
group by playerid