MySQL利用IF查询不同条件并分别统计记录数

数据库记录如下:

现在要查询统计出每个'name'的'result'分别为'success'和'fail'的次数;

利用IF条件判断满足条件为1,不满足为0,再用SUM函数求和,最后通过'name'分组。

SELECT
    NAME,
    SUM(IF(result = 'success', 1, 0)) AS success,
    SUM(IF(result = 'fail', 1, 0)) AS fail
FROM
    if_test
GROUP BY
    `name`

结果如下:

原文地址:https://www.cnblogs.com/theRhyme/p/11580551.html