精选问答
mysql 统计今天的在线时长我的表里有loginTIme,logoutTime这两个字段,现在我要统计玩家今天的在线时间长度,有的玩家连着玩好几天,用logoutTIme-loginTime得到的时间是三十多个小时,那就不是一天的在线时长了.就是纠结在“今天”这一块了,下边是我的语句,怎么写才能值统计今天的,过了晚上24时就不算了?求大侠拔刀相助!select lastLoginTIme,lastLogoutTime,timestampdiff(minute,lastLoginTime,lastLogo

2019-04-13

mysql 统计今天的在线时长
我的表里有loginTIme,logoutTime这两个字段,现在我要统计玩家今天的在线时间长度,有的玩家连着玩好几天,用logoutTIme-loginTime得到的时间是三十多个小时,那就不是一天的在线时长了.就是纠结在“今天”这一块了,下边是我的语句,怎么写才能值统计今天的,过了晚上24时就不算了?求大侠拔刀相助!
select lastLoginTIme,lastLogoutTime,timestampdiff(minute,lastLoginTime,lastLogoutTime) from player_info where lastLoginTime between current_date() and date_add(curdate(),interval 1 day);
优质解答
这个需要写判断语句,一条SQL语句很难写出来.可用存储过程.
需如:
先得到在线时候一次在线时间多长
logintime 2013-1-1 12:00:00 logouttime 2013-1-5 12:00:00
可以先到得 logouttime - logintime = 总的在线时长
判断 总的在线时长 得到 如果大于24 或者 得到 2013-1-2 0:00:00 - logintime 小于 总的在线时长
2013-1-2 0:00:00 - logintime = 今天在线时长
这个需要写判断语句,一条SQL语句很难写出来.可用存储过程.
需如:
先得到在线时候一次在线时间多长
logintime 2013-1-1 12:00:00 logouttime 2013-1-5 12:00:00
可以先到得 logouttime - logintime = 总的在线时长
判断 总的在线时长 得到 如果大于24 或者 得到 2013-1-2 0:00:00 - logintime 小于 总的在线时长
2013-1-2 0:00:00 - logintime = 今天在线时长
相关问答