Mysql 登录时间和注销时间之间的总时差
输入 输出:Mysql 登录时间和注销时间之间的总时差,mysql,sql,Mysql,Sql,输入 输出: userid login time logout time ---------------------------------------------------------------------------- 1 2012-08-01 16:08:26 2012-08-01 16:08:29 2 2012-08
userid login time logout time
----------------------------------------------------------------------------
1 2012-08-01 16:08:26 2012-08-01 16:08:29
2 2012-08-01 16:22:49 2012-08-01 16:25:44
3 2012-08-01 16:08:26 2012-08-01 16:08:29
3 2012-08-01 16:22:49 2012-08-01 16:25:44
3 2012-08-01 16:08:26 2012-08-01 16:08:29
4 2012-08-01 16:22:49 2012-08-01 16:25:44
我尝试过的查询是:
userid date total time difference b/w login time and logout time
---------------------------------------------------------------------------------
1 2012-08-01 00:08:29
2 2012-08-01 1:25:44
3 2012-08-01 00;55;5
4 2012-08-01 1:25:44
我认为您只需要将函数用作:
SELECT distinct t.user_id, DATE_FORMAT(t.login_time,\'%d %b %Y\') AS datez,
SEC_TO_TIME(SUM(TIME_TO_SEC(t.logout_time) - TIME_TO_SEC(t.login_time))) AS timediffe
from login_log t
where user_id=5
AND login_time between '2012-08-01' AND '2012-08-2'
GROUP BY t.user_id,datez
我认为您只需要将函数用作:
SELECT distinct t.user_id, DATE_FORMAT(t.login_time,\'%d %b %Y\') AS datez,
SEC_TO_TIME(SUM(TIME_TO_SEC(t.logout_time) - TIME_TO_SEC(t.login_time))) AS timediffe
from login_log t
where user_id=5
AND login_time between '2012-08-01' AND '2012-08-2'
GROUP BY t.user_id,datez
请使用此方法查找时间差异:
SELECT t.user_id,
DATE_FORMAT(t.login_time,'%d %b %Y') AS datez,
SEC_TO_TIME(SUM(TIME_TO_SEC(TIMEDIFF(t.logout_time, t.login_time)))) AS timediffe
FROM tic_login_log t
WHERE user_id = 5
AND login_time between '2012-08-01' AND '2012-08-2'
GROUP BY t.user_id,datez;
请使用此方法查找时间差异:
SELECT t.user_id,
DATE_FORMAT(t.login_time,'%d %b %Y') AS datez,
SEC_TO_TIME(SUM(TIME_TO_SEC(TIMEDIFF(t.logout_time, t.login_time)))) AS timediffe
FROM tic_login_log t
WHERE user_id = 5
AND login_time between '2012-08-01' AND '2012-08-2'
GROUP BY t.user_id,datez;
您可以使用TIMEDIFF()
方法
试试这个:
select TIMEDIFF(NOW(), '2012-06-20 06:24:43')
例如:-
SELECT timediff(your_logout_time,your_login_time);
输出:-'24:00:03'
您可以使用TIMEDIFF()
方法
试试这个:
select TIMEDIFF(NOW(), '2012-06-20 06:24:43')
例如:-
SELECT timediff(your_logout_time,your_login_time);
输出:-
'24:00:03'
根据“2012-08-01”的相关要求输出
SELECT timediff('2012-08-02 16:08:29','2012-08-01 16:08:26');
每个用户的日期vise总登录时间
select userid, date(login_time) as Date, sum(timediff(logout_time-login_time) as
'Logged in Time' where date(login_time)='2012-08-01' group by userid;
select userid, date(login_time) as Date, sum(timediff(logout_time-login_time) as
'Logged in Time' group by userid,date(login_time);
每个用户在历史记录中的总登录时间
select userid, date(login_time) as Date, sum(timediff(logout_time-login_time) as
'Logged in Time' where date(login_time)='2012-08-01' group by userid;
select userid, date(login_time) as Date, sum(timediff(logout_time-login_time) as
'Logged in Time' group by userid,date(login_time);
根据“2012-08-01”的相关要求输出
SELECT timediff('2012-08-02 16:08:29','2012-08-01 16:08:26');
每个用户的日期vise总登录时间
select userid, date(login_time) as Date, sum(timediff(logout_time-login_time) as
'Logged in Time' where date(login_time)='2012-08-01' group by userid;
select userid, date(login_time) as Date, sum(timediff(logout_time-login_time) as
'Logged in Time' group by userid,date(login_time);
每个用户在历史记录中的总登录时间
select userid, date(login_time) as Date, sum(timediff(logout_time-login_time) as
'Logged in Time' where date(login_time)='2012-08-01' group by userid;
select userid, date(login_time) as Date, sum(timediff(logout_time-login_time) as
'Logged in Time' group by userid,date(login_time);
但是val将采用整数格式,而不是时间格式
SEC\u TO\u time
再次将其转换为time
格式。只需尝试此查询,应该对您有效。但是val将以整数格式出现,而不是时间格式SEC\u TO_time
再次将其转换为time
格式。试试这个查询,应该对你有用。问题是每个用户登录了多少时间?对吧,伙计?问题是1。每个用户在特定日期登录的时间是多少?或2。每个用户登录date vise的时间有多长?或3。每个用户登录的总时间是多少?现在我认为最好的答案是回答这三个问题。问题是每个用户登录的时间是多少?对吧,伙计?问题是1。每个用户在特定日期登录的时间是多少?或2。每个用户登录date vise的时间有多长?或3。每个用户登录的总时间是多少?现在我认为最好的答案是回答这三个问题。