나는 이러한 값으로 테이블 XYZ가,이 문제가 사이의 시간 차이 :MySQL의 : 가장 가까운 행
PRODUCT_ID, USER_NAME, EVENT_TYPE, EVENT_TIME
ABCD123, 사용자 1, 수리, 2017년 1월 16일 14시 51분 28초
ABCD123, USER1, REPAIR는 2017년 1월 16일 15시 51분 28초
ABCD123, USER1, 수리 완료 2017년 1월 16일 16시 51분 28초
ABCD123, user1, 수리 완료, 2017-01-16 18:51:28
첫 번째 수리 완료와 첫 번째 수리 및 두 번째 수리 완료와 두 번째 수리 사이의 시간차는 어떻게됩니까?
select a.product_id, a.user_name, b.event_time as start_time, a.event_time as end_time, FORMAT((TIMESTAMPDIFF(SECOND, b.event_time, a.event_time)/3600),2) as difference
FROM XYZ a
join XYZ b
ON a.product_id = b.product_id and a.user_name = b.user_name and a.event_type = 'REPAIR DONE' and b.event_type = 'REPAIR'
group by a.product_id, a.user_name
order by a.event_time asc
그러나 어떤 이유에서 결과가 이것이다
: 는 I이 시도ABCD123, USER1, 차가 1 HOUR
ABCD123, USER1, 차분 4 HOURS
을것이 올바른 :
ABCD123, user1, difference 1 HOUR
ABCD123, user1, difference 2 HOURS
즉, 두 번째 행에서 두 번째 REPAIR과 두 번째 REPAIR DONE 대신 두 번째 REPAIR과 두 번째 REPAIR DONE 사이의 차이점이 나타납니다.
아무에게도 조언 해 줄 수 있습니까?
죄송합니다. 솔루션을 작동시키지 못했지만 문제가 될 수 있습니다. – Raymond
http://sqlfiddle.com/에 몇 가지 샘플 데이터가있는 테이블을 게시 할 수 있습니까? 내가 확인해 보겠습니다. –
안녕하세요, 전자 메일을 통해 샘플 데이터를 보내 주셨습니다. sqlfiddle은 나를 처음 보았을 때 다소 혼란스러워했습니다. 미안 해요. 시도해 주셔서 감사합니다. – Raymond