我有一个包含日期时间、错误代码和整数值的表(具有此错误代码的产品计数...)。
我需要选择并按周(时间)对所有不同的错误代码进行分组,其中包含包括零在内的整数总和。因此每周都必须有不同的错误代码。
表格可以如下所示:
2016-09-12, 0, 100
2016-09-12, 0, 10
2016-09-12, e1, 10
2016-09-21, e2, 5
结果是我想要的:
week, errorCode, sum
37, 0, 110
37, e1, 10
37, e2, 0
38, 0, 0
38, e1, 0
38, e2, 5
谢谢。
最佳答案
在基本层面上,这将显示至少存在一种错误类型的所有周的错误总和,包括总和为 0 的错误。该方法的另一个缺点是周是与年份相关的序数,即 0-51。如果您需要它跨年工作和/或包括所有星期,那么正如所指出的那样,您可能需要从日历驱动并左连接到此查询:
SELECT week(week), e.errorCode, sum(case when e.errorCode=x.errorCode then c else 0 end) from
errorCodes e, xtest x
group by week(week), e.errorCode
关于mySQL - 选择包含零的不同值的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39674833/