我正在尝试以数据时间格式(00:00:00)显示每个客户的总旅行时间
但是我对我是否应该做
感到困惑SEC_TO_TIME(SUM(结束时间-开始时间))
或
SEC_TO_TIME(SUM( TIME_TO_SEC (结束时间-开始时间)))
或
SEC_TO_TIME(SUM( TIME_TO_SEC (结束时间)- TIME_TO_SEC (开始时间))
如果结束时间和标准时间采用日期时间格式
应该是正确的方法。我对第一和第二个结果有所不同
答案 0 :(得分:1)
第一:
使用endtime
将starttime
和UNIX_TIMESTAMP
转换为时间戳记
第二:
减去它们
注意:结果将以秒为单位
(UNIX_TIMESTAMP(endtime) - UNIX_TIMESTAMP(starttime))
确定客户消耗了多少时间
第三名:
将结果转换为时间
SEC_TO_TIME( (UNIX_TIMESTAMP(endtime) - UNIX_TIMESTAMP(starttime)) )
所以您的最终查询应该是这样
SELECT SEC_TO_TIME( (UNIX_TIMESTAMP(endtime) - UNIX_TIMESTAMP(starttime)) ) FROM travel