Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MYSQL中输入和输出之间的持续时间_Php_Mysql_Datetime - Fatal编程技术网

Php MYSQL中输入和输出之间的持续时间

Php MYSQL中输入和输出之间的持续时间,php,mysql,datetime,Php,Mysql,Datetime,我是新的MYSQL,现在我尝试了一些东西这里是我的查询不准确的结果 任何一个朋友都有处理这种情况的经验 不需要 TIMEDIFF(time where type=in, time where type=out) 3:35:30 time type=in, 03:35:30 time type=out Output 0 您可以按照下面的步骤进行尝试- SELECT DISTINCT a.userid, (TIME_TO_SEC(b.time) - TIME_TO_SEC(a.time)) A

我是新的MYSQL,现在我尝试了一些东西这里是我的查询不准确的结果

任何一个朋友都有处理这种情况的经验

不需要

TIMEDIFF(time where type=in, time where type=out) 
3:35:30 time type=in, 03:35:30 time type=out
Output 0 

您可以按照下面的步骤进行尝试-

SELECT DISTINCT a.userid, (TIME_TO_SEC(b.time) - TIME_TO_SEC(a.time)) AS 'time_diffrence' FROM 
(SELECT userid,`time` FROM mytable WHERE `type`='in') a 
JOIN (SELECT userid,`time` FROM mytable WHERE `type`='out') b ON a.userid=b.userid

这是一个简单的解决方案,但是可以针对单个时间和多个用户等有多个超时。因此,在查询需要更改的地方,可以有很多组合。

用户ID上加入使用
而不是
日期
数据库似乎很不规范。
officialtimin
officialtimeout
都应该在一个表中。Rajesh kumar很抱歉上次查询不正确查询我更新了我的问题请查看Vipin和Rajesh我有查询输入和输出的位置计算时间持续时间这是我的问题显示你需要什么输出…意思是你想要一行一行吗用户喜欢先入和后出之间的差异,否则…感谢您的回答显示错误#1052-字段列表中的“userid”列不明确,这是什么b.time和a.time?使用DISTINCT,回答是相同的时间重复,而不是我已经测试过的最后一个代码
SELECT DISTINCT a.userid, (TIME_TO_SEC(b.time) - TIME_TO_SEC(a.time)) AS 'time_diffrence' FROM 
(SELECT userid,`time` FROM mytable WHERE `type`='in') a 
JOIN (SELECT userid,`time` FROM mytable WHERE `type`='out') b ON a.userid=b.userid