我想知道是否有人可以帮助我解决当前遇到的问题。
我有一个数据库表,其中包含以下列
我有多个不同的区域,它们可以具有相同的产品,而我想要做的就是总结各自领域中所有不同产品的差异。例如在上表中,我将得到以下结果(区域1中的产品1总计为3分钟,等等)
Area Product Time
Retail Product 1 00:03:00'
Packing Product 2 00:02:00'
开始和停止列具有DATETIME数据类型
我尝试过sum(timediff(stop,start))并按乘积分组,但这似乎不起作用。
因此,我也想根据面积位求和,无论我输入什么,总得到181
在此方面,我将不胜感激
答案 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