2017-08-28 51 views
-3

我有一个有多个人名字的表。每个人在多个工作的几个日期中出现几次。我想根据不同的工作选择不同的工作时间总和。 实施例:MySQL在1行中选择不同行的总和

PersonName  Job1  Job2  Job3 

    Eliot  14:55 23:17  80:12 
+0

到目前为止您尝试过什么?请发布您的查询,表格结构和样品数据 – etsa

+0

“在几个日期上出现几次”并不能真正帮助我们帮助您。你怎么知道他每天工作多少时间? starttime endtime列?一个指定金额的列?一个人可以在午夜后工作吗?请张贴表结构和尝试。 – sagi

回答

0

可以储存工作时间为分钟(例如整数)或小时(例如十进制),以便能够计算一个总和。在这种情况下,你可以使用下面的代码:

SELECT PersonName, SUM(Job1) as Job1, SUM(Job2) as Job2, SUM(Job3) AS Job3 
FROM schema_name.table_name 
GROUP BY PersonName; 

现在你的工作时间似乎被存储为一个字符串。您可以编写一个将此考虑在内的查询,但将工作时间存储为数字应该更容易。