Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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
在MySql中使用JOIN计算日期差异_Mysql_Join_Inner Join_Outer Join - Fatal编程技术网

在MySql中使用JOIN计算日期差异

在MySql中使用JOIN计算日期差异,mysql,join,inner-join,outer-join,Mysql,Join,Inner Join,Outer Join,我有一个MySQL表,它的外键是logId 另一个表将logId作为一列,并包含相应的startDate和endDate 我希望以这样一种方式编写联接:我的输出为每个服务器提供startDate和endDate之间的差异(以小时为单位) 我已经写了下面的连接,但需要帮助计算日期的差异,并将其显示为TotalTime 函数TIMEDIFF给出两个time/datetime之间的差值 SELECT servername, TIMEDIFF(EndDate, StartDate) AS to

我有一个MySQL表,它的外键是logId

另一个表将logId作为一列,并包含相应的startDate和endDate

我希望以这样一种方式编写联接:我的输出为每个服务器提供startDate和endDate之间的差异(以小时为单位)

我已经写了下面的连接,但需要帮助计算日期的差异,并将其显示为TotalTime

函数TIMEDIFF给出两个time/datetime之间的差值

SELECT 
    servername, TIMEDIFF(EndDate, StartDate) AS totaltime
FROM
    table1
        INNER JOIN
    table2 ON table1.logId = table2.logId

以前的问题:转换日期unix timestanps并进行减法/除法以达到小时但是我应该如何在我的联接查询选择测试列中插入TimesDiff,unix时间戳'2010-01-10 18:16:55'-unix时间戳'2010-01-10 17:16:55'/60/60作为总时间
SELECT 
    servername, TIMEDIFF(EndDate, StartDate) AS totaltime
FROM
    table1
        INNER JOIN
    table2 ON table1.logId = table2.logId
SELECT 
    t1.server, 
    TIMESTAMPDIFF(HOUR,t2.StartDate, t2.EndDate) AS TotalTime
FROM 
    table1 t1
    LEFT JOIN table2 t2 ON t1.logId = t2.logId