2013-11-09 2 views
0

아래 테스트 데이터를 참조하십시오. 나는 avgtime (= timeonsite/visits)을 얻고 "xx : xx : xx"라는 결과를 mysql에 넣고 싶다. 내가 어떻게 구할 수 있니?평균 시간을 얻는 방법 'xx : xx : xx'on mysql?

SET FOREIGN_KEY_CHECKS=0; 

-- ---------------------------- 
-- Table structure for `t` 
-- ---------------------------- 
DROP TABLE IF EXISTS `t`; 
CREATE TABLE `t` (
    `id` int(11) NOT NULL auto_increment, 
    `timeOnsite` time default NULL, 
    `visits` int(11) default NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; 

-- ---------------------------- 
-- Records of t 
-- ---------------------------- 
INSERT INTO `t` VALUES ('1', '04:05:30', '20'); 
INSERT INTO `t` VALUES ('2', '03:00:00', '10'); 
INSERT INTO `t` VALUES ('3', '00:01:30', '17'); 

enter image description here

답변

1

는 같은 방법으로 avgtime 계산해야 있습니까? 그렇다면, MySQL은 아래의 선택 :

select id, timeOnsite,visits, SEC_TO_TIME(TIME_TO_SEC(timeOnsite)/visits) as avgtime 
from t 
+0

, 대단히 감사합니다 –

2

당신은 초 xx:xx:xx 형식을 변경 TIME_TO_SEC 기능을 사용할 수 있습니다.

SELECT TIME_TO_SEC('00:01:30')/17; # return 5.2941 

그리고 SEC_TO_TIME을 통해 다시 다음과 같이 시간에 초를 변환 할 수 있습니다 : 당신을 사랑 해요

SELECT SEC_TO_TIME(TIME_TO_SEC('00:01:30')/17); # return 00:00:05 
관련 문제