我有一个包含datetime,errorCode和整数值的表(带有此错误代码的产品计数...)。
我需要SELECT并按周(时间)分组所有不同的errorCodes,其中包含整数和0。所以在每个星期都必须是所有不同的errorCodes。
表格如下所示:
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)
在基本级别上,这将显示至少有一个错误类型的所有周的错误总和,包括总和为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