데이터베이스 MySQL에이 데이터 테이블이 있습니다. 9905.MySQL 비교 날짜 시간
나도 같은 코딩 시작 날짜의 시간을 한 시간 내에서 반복 될 때 모든 행을 삭제 한 쿼리가 필요:이 표에서
+---------------------+---------------------+--------+----+
| Start___Date | End___Date | Coding | ID |
+---------------------+---------------------+--------+----+
| 2014-12-16 18:08:51 | 2014-12-16 20:00:16 | 7605 | 1 |
| 2014-12-16 22:01:39 | 2014-12-16 23:36:36 | 9905 | 2 |
| 2014-12-16 22:45:00 | 2014-12-16 23:36:36 | 9905 | 3 |
| 2014-12-16 23:18:32 | 2014-12-16 23:19:04 | 9905 | 4 |
+---------------------+---------------------+--------+----+
나는 3 개의 동일한 코딩이있다.
이 경우 행 번호 3을 취소해야합니다.
+---------------------+---------------------+--------+----+
| Start___Date | End___Date | Coding | ID |
+---------------------+---------------------+--------+----+
| 2014-12-16 18:08:51 | 2014-12-16 20:00:16 | 7605 | 1 |
| 2014-12-16 22:01:39 | 2014-12-16 23:36:36 | 9905 | 2 |
| 2014-12-16 23:18:32 | 2014-12-16 23:19:04 | 9905 | 4 |
+---------------------+---------------------+--------+----+
동일한 부호 9905은 시작 시간 (22시 1분)에 비해 시간 내에 두 테이블에 기록 시작 시간 (23시 18분)이 때문에 9905을 코딩 레코드 번호 (4)를 저장하고 있기 때문에 동일한 코딩으로 시작 시간 (22:01)보다 더 깁니다.
도와 주시겠습니까? 미리 감사드립니다.
는내가이 쿼리를 시도 1
편집 번호는 가입하지만 출력은 잘못된 것입니다 :
mysql> SELECT
CB.Start___Date,
CB.End___Date,
CB.Coding
FROM
doTable AS CB
JOIN doTable AS CD ON (CB.Coding = CD.Coding)
WHERE
TIME_TO_SEC(
TIMEDIFF(
CB.Start___Date,
CD.Start___Date
)
)/60 > 60
GROUP BY
CB.Coding;
+---------------------+---------------------+--------+
| Start___Date | End___Date | Coding |
+---------------------+---------------------+--------+
| 2014-12-16 23:18:32 | 2014-12-16 23:19:04 | 9905 |
+---------------------+---------------------+--------+
1 row in set
어서. 뭔가 해봐. 아마도 JOIN으로 뭔가를 시도해보십시오. – Strawberry
또한 4 번 행이 3 번 행의 1 시간 이내에 있으므로 왜 삭제되지 않습니까? – Strawberry
나는 약간의 결함이 있다고 생각한다. cronjob에서 분 단위로 삭제 쿼리를 실행 하시겠습니까? 그렇다면 상대적으로 간단합니다. 그러나 쿼리에서 삭제할 항목을 찾으려면 쿼리를 실행할 때마다 다른 종류의 물고기가 필요합니다. 예를 들어 며칠 후, 코드 9905로 여러 레코드를 가질 수 있습니다. 시작점은 어디에 있습니까? 예를 들어 코드 9905가있는 다른 레코드가 시작 날짜 2014-12-16 23:20:00으로 삽입 된 경우 해당 레코드가 id 2로 인해 허용되거나 삭제되었거나 id 4로 인해 삭제됩니까? 그렇다면 아마도 MySQL을 사용하여 문제를 해결할 수 없을 것입니다. –