상태라는 테이블이 EntryTime이고 상태 = 2는 ExitTime입니다.두 열에 동일한 테이블 행을 사용하는 MySQL
+-----+------+------+------+--------+
| n_id| notification_time | status |
+-----+------+------+------+--------+
| 1 | 2016-11-17 16:44:02 | 2 |
| 1 | 2016-11-17 16:43:55 | 1 |
| 2 | 2016-11-17 13:05:47 | 1 |
| 2 | 2016-11-17 13:08:29 | 2 |
| 4 | 2016-11-17 14:09:02 | 1 |
| 4 | 2016-11-17 14:13:45 | 2 |
| 1 | 2016-11-17 22:05:02 | 1 |
| 1 | 2016-11-17 22:09:12 | 2 |
+----+------+------+-------+---------+
나는
+-----+------+------+------+--------+--------+--------+
| n_id| Entry_time | Exit_time |
+-----+------+------+------+--------+--------+--------+
| 1 | 2016-11-17 16:43:55 | 2016-11-17 16:44:02 |
| 2 | 2016-11-17 13:05:47 | 2016-11-17 13:08:29 |
| 4 | 2016-11-17 14:09:02 | 2016-11-17 14:13:45 |
| 1 | 2016-11-17 22:05:02 | 2016-11-17 22:09:12 |
+----+------+------+-------+---------+-------+--------+
이 작업을 수행하는 방법에 대한 어떤 제안이 같은 결과를 필요? 매우 감사합니다! n_id 반복적 필요의 다른 컬럼가 있다면 당신은 항상 당신이 sellf를 사용할 수있는 별개의 n_id의 몇 별칭
select a.n_id, a.notification_time as Entry_time, a.notification_time as Exit_time
from my_table a
inner join my_table b on a.n_id = b.n_id
where a.status = 1
and b.status = 2
에 따라 조인이있는 경우
select n_id
, min(notification_time) as entry_time
, max(notification_time) as exit_time
from Notifications
group by n_id
id로 최소값과 최대 값을 그룹화하고 표시 할 수 있습니다. –
n_id = 1 (4 항목)의 시간이 두 번입니까? – scaisEdge
좋은 질문입니다. ID가 2 개를 초과하면 min() 및 max()가 도움이되지 않습니다. –