mySQL - 选择包含零的不同值的总和

标签 mysql

我有一个包含日期时间、错误代码和整数值的表(具有此错误代码的产品计数...)。

我需要选择并按周(时间)对所有不同的错误代码进行分组,其中包含包括零在内的整数总和。因此每周都必须有不同的错误代码。

表格可以如下所示:

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/

相关文章:

javascript - CakePHP如何生成其外部密码

mysql - 在 Laravel 5 中使用查询生成器进行复杂查询

mysql - 将 MySQL 转储导入特定表空间

javascript - 如何在php/mysql/jquery网页中通过ajax返回数据?

php - 用户'user'@'%'对数据库'db'的访问被拒绝

php - ID不能为空(自增)

MySQL - 如何将 LIMIT 应用于 GROUP?

MySQL - 统计不同月份记录的出现次数

Java空指针异常通过GUI和MYSQL输入到phpmyadmin中的数据库

c# - 部署到 Azure - 无法连接到数据库