이 elapsed_time을 사용하는 쿼리가 있는데 제대로 작동하지만 실제로 actual_elapsed 값이 잘못 표시됨을 알게되었습니다. actual_elapsed는 TIMEDIFF()를 사용하여 수행하는 타이머의 실행 시간입니다. log_time은 datetime이고, action (play, pause)이 삽입/생성되었을 때의 datetime입니다. sequence는 int이며 각 사용자에 대해 처음 발생한 일을 알려줍니다. status, int는 수행 한 동작이 play (1), pause (2) 또는 stop (3)인지 여부를 알려줍니다.일시 정지 로직으로 시간이 경과 됨 mysql TIMEDIFF() 및 PHP
마찬가지로 내 문제는 TIMEDIFF (now(), log_time)를 사용하여 actual_elapsed에 대한 올바른 값을 얻고 있다고 말했습니다. 내가 일시 중지 조치를 취하지 않았다면 괜찮 았을 것입니다. 난 단지 49초를 받고되어야 할 때
예 DB 입력
log_time sequence status
2012-09-27 15:31:02 1 1
2012-09-27 15:31:04 2 2 **2 +**
2012-09-27 15:40:08 3 1
2012-09-27 15:40:45 4 2 **39 +**
2012-09-27 15:40:47 5 1
2012-09-27 15:40:57 6 3 **10 =**
**49**
내 쿼리는 나에게 09분 57 초 있습니다.
내 견본 쿼리.
(" select sequence_num, elapsed_time, status, TIMEDIFF(now(), log_time) as actual_elapsed from tbl");
나는 actual_elapsed의 지속 시간을 가져 오려고합니다. 그렇게하려면 휴식 시간 (일시 중지)의 총 지속 시간을 취한 다음 elapsed_time과 휴식 시간의 차이를 가져야합니다. 하지만 사용자가 타이머를 여러 번 일시 중지 할 수 있기 때문에 그 부분에 문제가 있습니다.
DB를 디자인 할 때 충분히 간단 해 보였습니다. 너무 혼란스러워하지 않고 어떻게이 일을 진행하나요?
A B (WHERE 상태 = 1 TBL로부터 iStart AS SUM (log_time 해당)) 가입 (상태 됨 (2,3) TBL FROM iStop AS SUM (log_time)을 선택) FROM