Nataraj Pandiyan Ответов: 2

Как получить разницу в двух датах времени в mysql


Хай,

Мне нужно получить разницу между двумя датами и временем, и это значение diff задается в следующем столбце.
любить


Date	                 Duration
 28-02-2017 17:46:00	 
 28-02-2017 17:47:00	 00:01:00
 28-02-2017 17:49:00	 00:02:00
 28-02-2017 17:55:00	 00:06:00
Total            	 00:09:00


Что я уже пробовал:

select t.start_time ,datediff(t.start_time,t1.start_time) durarion  
From ICC_resource_utilization t
inner join ICC_resource_utilization t1 on t.utilization_id=t1.utilization_id

PIEBALDconsult

Возможно, Вам понадобится общее табличное выражение.

Nataraj Pandiyan

не могли бы вы объяснить

2 Ответов

Рейтинг:
2

CHill60

Попробуйте решения, представленные в этом посте - sql-MySQL-вычитание значения из предыдущей строки, группировка по[^]

вместо использования c. value-prev. value в соответствии с примером использования DATEDIFF(С. датазнач, пред.датазнач).

Вероятно, вам придется выполнить соединение с подзапросом, чтобы получить общую сумму.


Nataraj Pandiyan

эта ссылка очень полезна для меня.Но нужна разница в две даты.

CHill60

Я обновил свое решение

Рейтинг:
1

Sunasara Imdadhusen

Это версия SQL Server:

DECLARE @startdate datetime2 = '2007-05-05 12:10:09.3312722';  
DECLARE @enddate datetime2 = '2007-05-04 12:10:09.3312722';   
SELECT DATEDIFF(day, @startdate, @enddate);  

Это версия MySQL:
SELECT 
    orderNumber,
    ROUND(DATEDIFF(requiredDate, orderDate) / 7, 2), --Calculate by Week 
    ROUND(DATEDIFF(requiredDate, orderDate) / 30,2) --Calculate by Month
FROM
    orders


CHill60

Я не уверен, что это делает что-то похожее на требование OP

Nataraj Pandiyan

Это не я исключаю