单表多个Count 条件进行查询拼接小妙用

时间:2022-02-24 09:12:44

单表多数据进行拼接


DROP table if EXISTS tmp_table;

CREATE TEMPORARY TABLE tmp_table (  创建临时表
SELECT
p1q04,p2q02, p2q04, p1q10a, p2q06
FROM
dc_cyfgqydj_data );
select count() c1, count(P1Q04= or P2Q02=) as c2 from tmp_table;

单表多个Count 条件进行查询拼接小妙用

案例2

先看sql

select count(), COUNT(if(QuesPublic=, True, Null)) as count from meta_questionnaire where ProjectID= and QuesStatus=;

需求,其实就是想得到quespublic所有的count, 和当quespublic=2的时候count, 注意if的意思,其实就是当满足时候为True, 不满足时候为Null, 只有为Null的时候不计算,而为False时候计算

第二个妙用

group可以加两个参数

group by A1, A2