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

时间:2011-06-30 19:29:10

标签: mysql sql join

我正在尝试计算在数据库中发生故障状态的事件的次数并检索故障的名称。我有一个表builds,其中包含failurearea的内容,以及名为failureareas的表,其中包含所有失败区域代码的名称。我希望能够计算这些数据,这样我就可以绘制数据并告诉我们的开发人员他们的构建最常失败。

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

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

任何帮助都会很棒。 感谢。

1 个答案:

答案 0 :(得分: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