SELECT DATE_ADD(`vj`.`departure`, INTERVAL sum(`run_time`) SECOND) AS arrivalTime
FROM myTable
vj.departure = 09:15:00
sum(run_time) = 2070
我认为我将根据上述值从查询得到的结果是:09:49:30
。相反,我看到:10:19:30.000000
。
如果我运行这样的查询:DATE_ADD(vj.departure, INTERVAL 2070 SECOND) AS arrivalTime
则查询工作正常并返回正确的结果:09:49:30
。这不是我的目标,但我需要传递sum(run_time)
值。
有关为何发生这种情况的任何想法?
答案 0 :(得分:0)
我认为,你得到vj.departure
的错误值。
给出一个这样的表:
departure | runtime
----------+---------
06:06:06 | 1000
09:15:00 | 1070
使用SUM()
功能时,所有行都会折叠。由于您未在departure
列的查询中指定聚合函数,并且在GROUP BY
子句中没有指定聚合函数,因此选择显示所有行的随机行。所以我猜,在上面的示例中,选择了值为06:06:06
的行,因此得到了错误的结果。