MySQL Query用于计算权重

时间:2013-10-07 05:41:04

标签: mysql sql

为了计算我已经制定了这个查询的错误的权重,

Select id,faultdistribution, faulttype, faultseverity,
IF (faultdistribution='crs', COUNT(id) * 8, 0) + 
IF (faultdistribution='configuration', COUNT(id) * 6, 0) + 
IF (faulttype='bs' AND faultseverity='ft', COUNT(id) * 4, 0) + 
IF (faulttype='bs' AND faultseverity='mj', COUNT(id) * 2, 0) + 
IF (faulttype='bs' AND faultseverity='md', COUNT(id) * 5, 0) + 
IF (faulttype='bs' AND faultseverity='mi', COUNT(id) * 3, 0) + 
IF (faulttype='lf' AND faultseverity='ft', COUNT(id) * 2, 0) + 
IF (faulttype='lf' AND faultseverity='mj', COUNT(id) * 1, 0) 
FROM tbl_fault WHERE product='DAS' AND faultdistribution='missed'

我打算做的是;

如果故障分布='crs'则故障* 8 +如果故障分布='配置'则故障* 6 .........

因为,数据库中有记录,但我没有上述查询的结果,需要帮助/建议。

此致

1 个答案:

答案 0 :(得分:1)

因为你在查询中使用了聚合函数COUNT,它只返回一行。但是你的查询是逐个运行所有行的,这是错误的。

COUNT()函数返回与指定条件匹配的行数。