单表多个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查询优化改写--------------------单表查询

MySQL查询语句

写sql时,使用where 1=1进行条件拼接时 如果第一个条件不成立时,后面的条件会继续执行吗

mysql操作进阶

MySQL单表查询

MySQL单表查询