我想做一个选择,给我一个员工解决一张票的时间。 问题在于票证是按行动划分的,因此它不仅可以获得一行的时间,而且可以来自n行。
这是我所拥有的缩写:
门票
TicketID | Days | Hours | Minutes
------------------------------------------------
12 | 0 | 2 | 32
12 | 1 | 0 | 12
12 | 4 | 6 | 0
13 | 2 | 5 | 12
13 | 0 | 2 | 33
这就是我想要的:
TicketID | Time (in minutes)
------------------------------------------------
12 | 2994
13 | 1425
(或者只有一行具有指定TicketID的条件)
这是我现在正在做的选择:
select distinct ((Days*8)*60) + (Hours*60) + Minutes from Tickets where ticketid = 12
但是我没有按照自己的意愿工作。
答案 0 :(得分:4)
select ticketid, sum((Days*8)*60), sum((Hours*60)), sum (Minutes)
from tickets
group by ticketid
答案 1 :(得分:3)
select TicketID, sum((Days*8)*60) + sum(Hours*60) + sum(Minutes) as Time_in_minutes
from Tickets
group by TicketID
如您之前尝试的那样,区别于源表(Tickets)中的每一行并过滤掉所有重复的行。相反,您试图总结每张票的天数,分钟数和小时数。所以总结一下,按票号分组。
答案 2 :(得分:1)
试试这个:
SELECT TicketID, (Sum(Minutes)+(Sum(Hours)*60)+(sum(Days)*24*60) ) time
FROM Tickets Group by TicketID