在mysql中if()函数的用法类似于java中的三目表达式,具体语法如下:IF(字段='某一值', yes就为xxx或另一字段的值,no就为xxx或另一字段的值)
例如:IF(expr1,expr2,expr3)
解析:如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值。
sum()的用法:sum (column ) : 把一列的值全部相加
sum( if ( 条件 , 3 , 0 ) ) : 满足“条件”,sum(3),不满足条件,sum(0)
例:表user如图
统计每个用户count<5的次数
select eid,sum(IF(count<5,-1,0)) as '次数' from user group by eid;
意思是eid=1,count<5时, 共有2条数据(1,1),(1,2),
即 sum(if(1),-1,0),count为1时,返回-1,求和sum(-1)= -1
则‘次数’为 sum(if(1),-1,0)+sum(if(2),-1,0) = -1+(-1) = -2



