时差由2个不同的参数分组

时间:2018-08-13 18:51:04

标签: mysql

我想知道是否有人可以帮助我解决当前遇到的问题。

我有一个数据库表,其中包含以下列

enter image description here

我有多个不同的区域,它们可以具有相同的产品,而我想要做的就是总结各自领域中所有不同产品的差异。例如在上表中,我将得到以下结果(区域1中的产品1总计为3分钟,等等)

Area    Product     Time

Retail  Product 1   00:03:00'

Packing Product 2   00:02:00'

开始和停止列具有DATETIME数据类型

我尝试过sum(timediff(stop,start))并按乘积分组,但这似乎不起作用。

因此,我也想根据面积位求和,无论我输入什么,总得到181

在此方面,我将不胜感激

1 个答案:

答案 0 :(得分:0)

您需要做的只是将您所在的地区和产品分组,并对每个时间进行汇总。答案应为help。对于您的查询,您只需要这样的内容:

select
    area
    ,product
    ,SEC_TO_TIME(SUM(TIME_TO_SEC(`stop`) - TIME_TO_SEC(`start`))) as timediff
from products_in_area
group by area, product

如果您不希望将最终结果显示为TIME值(例如,可以在调用应用程序中进行格式化),则查询看起来会更简洁:

select
    area
    ,product
    ,SUM(TIMESTAMPDIFF(MINUTE, `start`, `stop`)) Minutes
from products_in_area
group by area, product