首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

,请教怎么可以用一条语句查询失败率

2012-11-03 
,请问如何可以用一条语句查询失败率表test结构如下,其中status1表示成功,status0表示失败,请问如何可以

,请问如何可以用一条语句查询失败率
表test结构如下,其中status=1表示成功,status=0表示失败,请问如何可以用一条语句查询到每个interface_name的失败率

SQL code
+-----------------+--------+-------+-------------+--------------+--------------+--------------+-----------+---------------+---------------+| interface_name  | status | count | avg_latency | slow_count_1 | slow_count_2 | slow_count_3 | client_id | ip            | timestamp     |+-----------------+--------+-------+-------------+--------------+--------------+--------------+-----------+---------------+---------------+| /email/exist    |      1 |     1 |         246 |            1 |            1 |            0 | 111111    | 127.0.0.1     | 1349689181769 || hasProfileUser  |      0 |   100 |          50 |           30 |           20 |           10 | 111111    | 192.168.10.22 |       1234567 || hasProfileUser  |      1 |   100 |          50 |           30 |           20 |           10 | 111111    | 192.168.10.22 |       1234567 || hasProfileUser1 |      1 |   100 |          50 |           30 |           20 |           10 | 111111    | 192.168.10.22 |       1234567 || hasProfileUser2 |      1 |   100 |          50 |           30 |           20 |           10 | 111111    | 192.168.10.22 |       1234567 |+-----------------+--------+-------+-------------+--------------+--------------+--------------+-----------+---------------+---------------+


[解决办法]
select interface_name,sum(if(status=0,1,0))/count(*)
from test group by interface_name
[解决办法]
if(status=0,1,0):如果status=0,取值1,
sum:计算出1的总数,即status=0的总数
[解决办法]
sum(if(status=0,1,0))换成count(if(status=0,1,0))一样
[解决办法]
如果status=0,返回1,否则返回0

热点排行