2017-01-26 81 views
0

我有一个简单的SQL,没有以正确的格式返回正确的值。该数据是如下:通过返回null组

Emp Date   totaltime 
15 2017-01-25  05:18:35 
15 2017-01-25  04:51:03 
31 2017-01-25  05:33:22 
31 2017-01-25  03:31:36 
33 2017-01-25  04:35:06 
33 2017-01-25  04:22:24 

我有以下SQL语句:

select emp_num, TIME_FORMAT(sum(TotalTime),'%H:%i:%s') 
from pr_hours 
where date='2017-01-25' 
group by emp_num 

我得到如下结果:

Emp_num + TIME_FORMAT(sum(TotalTime), '%H:%i:%s') ' 
15  + NULL 
31  + NULL 
33  + 08:57:30 

我已经尝试了上面的SQL的变化与混合结果但没有正确的数据。

这是一个简单的sql语句,不应该这么耗时,所以请指出正确的方向。

+1

如果你描述你希望看到“正确”的结果会是什么帮助。 –

+0

你觉得'sum(TotalTime)'做了什么?为什么? – shmosel

+0

我希望总和(TotalTime)会给我员工的总时间,不管记录的数量。它看起来像TIME_FORMAT导致我的问题。如果我删除了TIME_FORMAT,则数字会正确生成但未被格式化。所以我想现在我的问题是如何格式化结果? –

回答

0

试试这个:

select emp_num, sec_to_time(sum(time_to_sec(TotalTime))) 
from pr_hours 
where date='2017-01-25' 
group by emp_num 
+0

这个伎俩。谢谢。最好让我回头再阅读文档。 –