Рассчитайте разницу в датах с помощью JOIN в MySql - PullRequest
0 голосов
/ 10 января 2020

У меня есть MySQL таблица с logId в качестве внешнего ключа

enter image description here

В другой таблице logId в качестве одного столбца и соответствующие startDate и endDate

enter image description here

Я хочу написать JOIN таким образом, чтобы мой вывод содержал разницу между startDate и endDate (в часах) для каждого сервера.

enter image description here

Я написал следующее JOIN, но мне нужна помощь для расчета разницы в датах и показать как TotalTime

select server, totaltime from table1
inner join table2 on table1.logId = table2.logId

Ответы [ 2 ]

2 голосов
/ 10 января 2020
SELECT 
    t1.server, 
    TIMESTAMPDIFF(HOUR,t2.StartDate, t2.EndDate) AS TotalTime
FROM 
    table1 t1
    LEFT JOIN table2 t2 ON t1.logId = t2.logId
0 голосов
/ 10 января 2020

Функция TIMEDIFF дает разницу между двумя временем / датой и временем

SELECT 
    servername, TIMEDIFF(EndDate, StartDate) AS totaltime
FROM
    table1
        INNER JOIN
    table2 ON table1.logId = table2.logId
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...