本测试只是简单测试,其用途不在于代替count函数配合where函数进行聚合计算,而是在复杂查询中在sum/count中加入条件,一次性求出不同条件下的聚合结果。

    1、插入测试数据如图

    MySQL带条件的sum/count 使用技巧 - 图1

    2、sum计算(type=1)个数

    MySQL带条件的sum/count 使用技巧 - 图2

    或者使用中间加入if判断

    MySQL带条件的sum/count 使用技巧 - 图3

    3、到这里你一定会异想天开的以为count是不是也可以加条件,同样的方法在count中并不适用

    MySQL带条件的sum/count 使用技巧 - 图4

    加上if判断也不行

    MySQL带条件的sum/count 使用技巧 - 图5

    4、使用count加条件的方法可以使用以下方式 (原因可以见gist)

    MySQL带条件的sum/count 使用技巧 - 图6