单表多个where 条件进行查询拼接小妙用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单表多个where 条件进行查询拼接小妙用相关的知识,希望对你有一定的参考价值。
单表多数据进行拼接
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
以上是关于单表多个where 条件进行查询拼接小妙用的主要内容,如果未能解决你的问题,请参考以下文章
Oracle查询优化改写--------------------单表查询