1.count()统计列不为null的结果集,而且括号中不能包含表达式,否则无效。
2.sum()计算指定列的和,括号中能包含表达式
showing code~~
SELECT COUNT(CASE WHEN name LIKE '%测试%' THEN 1 END) AS total FROM `emp`;
此处括号内直接返回结果集,而非表达式,没明白可以看上一篇先。
SELECT SUM(name LIKE '%测试%') AS total FROM `emp`
以上两条语句结果都相同
注意: SELECT COUNT(name LIKE '%测试%') AS total FROM `emp`无效,前面已经说过count中不能包含表达式
再写一下在书上看的优化,count(*)在没有条件的情况下效率很高,会忽略所有的直接统计;有条件的情况下怎么优化呢,emm,再说吧