一、与if一起嵌套使用
1、简单的嵌套使用
SELECT count(if(industryField LIKE "%电子商务%",industryField,NULL)) FROM data.analyse;
-- 也可以使用WHERE
SELECT count(industryField) FROM data.analyse
WHERE industryField LIKE "%电子商务%";
注意,嵌套过多使用的情况下换做WHERE来单独过滤就更不便捷,直接使用嵌套
2、表示父类中的某个子类进行计数,并表示百分比时
SELECT
city,
count(positionId),
count(if(industryField LIKE "%电子商务%",industryField,NULL)),
count(if(industryField LIKE "%电子商务%",industryField,NULL)) /count(positionId)
FROM data.analyse
group by city ;
可以使用别名的方式来简化代码,同时增加可读性
注意:别名不能在select中使用,只能在其他语句中使用
SELECT
city,
count(positionId) AS total,
count(if(industryField LIKE "%电子商务%",industryField,NULL)) AS e_com,
count(if(industryField LIKE "%电子商务%",industryField,NULL)) /count(positionId) -- 注意,在此步中(涉及计算)不能用别名代替
FROM data.analyse
group by city
HAVING e_com>50
ORDER BY e_com;