SQL은

2017-02-27 2 views
-3

내가 가진 SQL의 tabelSQL은

ikey  Date   iDiverkey  Status 
---- ------   ---------  ------- 
1  27/02/2017 15:26  1156   1 
2  27/02/2017 17:26  1156   2 

Note 1 ---> Trip Start 
    2 ---> Trip stop 

내가 출력이

Date   iDiverKey  Start  Stop 
27/022017  1156   15:26  17:26 

이 가정을 출력

+1

이 데이터가 문제를 적절하게 대표하고 있습니까? – Strawberry

+0

단일 iDiverkey에 대해 두 개의 다른 날짜가 있습니까? 오늘 밤에 시작하고 내일 아침에 그만하니? –

+0

아니요, 같은 날짜와 다른 날짜가있을 수도 있습니다 – Edburg

답변

0

을 얻을하는 데 도움이 원하는대로 당신이 원하는 것은 첫 시작입니다 필요 같은 tabel에 참여 각 iDriverkey의 각 날짜에 대해 날짜 (상 태 1 추정치) 및 최종 종료일 (상 태 2 추정치)를 입력하면 다음과 같이됩니다. -

SELECT DATE(`Date`), 
     iDriverkey, 
     MIN(IF(Status = 1, TIME(`Date`), NULL)) AS `Start`, 
     MAX(IF(Status = 2, TIME(`Date`), NULL)) AS `Stop` 
FROM somedatatable 
GROUP BY DATE(`Date`), 
     iDriverkey