一、与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; 
一、与if一起嵌套使用1、简单的嵌套使用SELECT count(if(industryField LIKE "%电子商务%",industryField,NULL)) FROM data.analyse;-- 也可以使用WHERESELECT count(industryField) FROM data.analyseWHERE industryField LIKE "%电子商务%";注意,嵌套过多使用的情况下换做WHERE来单独过滤就更不便捷,直接使用嵌套2、表示父类中的某个子 SQL COUNT (column_name) 语法 COUNT (column_name) 函数返回指定列的值的数目(NULL 不计入): SELECT COUNT (column_name) FROM table_nam SQL COUNT (*) 语法 COUNT (*) 函数返回表中的记录数... 最近在研究mybatis的时候发现**Mapper.xml在编写 SQL 的时候发现聚合函数( count ()) 使用 起来挺方便, count () 是一个聚合函数,对于返回的结果集,一行行地判断,如果 count 函数的参数不是 NULL,累计值就加 1,否则不加,最后返回累计值。 <select id="checkEmail" parameterType="string" resultType="int"> select count (*) from mark_user
最近工作中,有需要新做页面统计数据总数,于是就按照条件规矩的分组查询,先查出总数,然后对分组过后的数据进行单个查询。写完就跑了一下,结果正确。不过按条件查询的时候,点了几下,测试一下,发现查询速度有点慢(数据暂时还不多),想着以后数据多的话,页面会不会很慢,能不能一个 sql ,把所有的数量都查出来。于是,在网上搜了一下, count ()函数内能不能加条件计数,测试了一下,数据正确, sql 如下 :
SELECT id,name, (CASE WHEN classid =2 THEN 1 WHEN classid =1 THEN 2 ELSE classid END) as A FROM py1; 每一 一定用GROUP BY CREATE TABLE sores (name char(3), sub char) SELECT name, max( CASE WHEN name =...
对于数据库中为空的值来说 ,两者都不计算 SELECT s.id,s.user_id, s.service_name, s.service_path, s.service_precision, s.concurrent_number, count (DISTINCT c.user_id) as history_user , count (DISTINCT if(c.use_status = 1 , c.use