单表多数据进行拼接
DROP table if EXISTS tmp_table; CREATE TEMPORARY TABLE tmp_table ( 创建临时表 SELECT p1q04,p2q02, p2q04, p1q10a, p2q06 FROM dc_cyfgqydj_data ); select count(1) c1, count(P1Q04=1 or P2Q02=1) as c2 from tmp_table;
案例2
先看sql
select count(1), COUNT(if(QuesPublic=2, True, Null)) as count from meta_questionnaire where ProjectID=2017091115151009297510476321 and QuesStatus=1;
需求,其实就是想得到quespublic所有的count, 和当quespublic=2的时候count, 注意if的意思,其实就是当满足时候为True, 不满足时候为Null, 只有为Null的时候不计算,而为False时候计算
第二个妙用
group可以加两个参数
group by A1, A2