MySql 统计失败代码的出现次数

标签 mysql sql join

我正在尝试计算数据库中发生故障状态的次数并检索故障名称。我有一个表 builds ,其中包含 failurearea 是什么,以及名为 failureareas 的表,其中包含所有 failurearea 代码的名称。我希望能够对这些进行计数,以便我可以绘制出数据并告诉我们的开发人员他们的构建最常失败的原因。

这是我正在尝试的,但它不起作用:

SELECT COUNT(B.id), F.name 
   FROM builds B 
  JOIN failureareas F ON B.failurearea = F.id
 WHERE DATE(B.submittime) >= DATE_SUB(CURDATE(), INTERVAL 30 DAY) 
   AND B.buildstatus != 2

最佳答案

您需要使用 GROUP BY:

SELECT COUNT(B.id), F.name
FROM builds B  JOIN failureareas F ON B.failurearea = F.id
WHERE DATE(B.submittime) >=  DATE_SUB(CURDATE(), INTERVAL 30 DAY) AND B.buildstatus != 2
GROUP BY F.name

关于MySql 统计失败代码的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6540080/

相关文章:

php - CodeIgniter 为读取和写入 MySQL 数据配置不同的 IP

mysql - Rails 类方法范围进行额外查询

sql - 单个查询中的 Postgresql 多个连接,其中连接的外键不存在于所有表中

mysql - SQL select 将两列合并为一列

mysql - 如何通过基于少数列值删除重复项来从两个表中获取数据

MYSQL 在时间戳上选择日期

mysql - 将sql文件转换并导入postgresql

Mysql工作台 "Too many objects are selected for auto placement. Select fewer elements to create the EER diagram."

mysql - 使用 INTERVAL 的 SQL 查询

sql - 返回的日期格式为 mm/dd/yyyy hh :mm:ss AM/PM