sql同时满足两个条件的语法怎样写?要用where语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql同时满足两个条件的语法怎样写?要用where语句相关的知识,希望对你有一定的参考价值。

sql同时满足两个条件的语法怎样写?要用where语句.请告知.谢谢了!

参考技术A select * from table where a=b and b=c 参考技术B select * from table where a||b='str1str2'

mysql if是多条件该怎么写

select COUNT(IF((channel_type=1),1,0 AND (check_status=6),1,0) FROM tougao_record WHERE accept_company_id=100
我想查 IF中同时满足这两个条件的总数
但是这样写不对,求教该怎么写

    处理“我想查 IF中同时满足这两个条件的总数”

    我的理解是:

    SELECT COUNT(*) FROM tougao_record WHERE accept_company_id=100 AND channel_type=1 AND check_status=6

下面是if语句里面多个条件的使用。

    IF语句的标准形式IF(expr1,expr2,expr3)

    expr1可以是单个表达式也可以是多个表达式,且&&,或||,非!

    上面的语句可以这样写

    select COUNT(IF(channel_type=1 && check_status=6),1,0) FROM tougao_record WHERE accept_company_id=100

    但是就我的理解,mysql在统计count的时候,不管count括号里面的内容,只管是否为空,查询的结果不为空就计数。

    我是处理下面的问题用到了,可以直接跑一下我给的sql语句。

SET @destval:='0.63';
SET @valforcomp='0.62';
SELECT 
IF(@destval REGEXP '^[\\-\\+.]?([0-9.]+)$' && @valforcomp REGEXP '^[\\-\\+.]?([0-9.]+)$',
IF(ABS(@destval-@valforcomp)<0.02,1,0),NULL) result

上面的REGEXP只是简单的用来判断是否是数字,通过这个我还发现了另一个问题,

SELECT ABS(@destval-@valforcomp);

这个查询出来不是等于0.01而是0.010000000000000009

不知道有没有帮到你。

参考技术A 应该这样写吧:
SELECT COUNT(*) FROM tougao_record WHERE accept_company_id=100 AND channel_type=1 AND check_status=6
参考技术B 多条件查询,应该用case when then方式。

而不是if。
参考技术C select 
 SUM(CASE WHEN channel_type=1 AND  check_status=6  THEN  1  ELSE  0 END)
FROM 
 tougao_record 
WHERE 
 accept_company_id=100

本回答被提问者和网友采纳
参考技术D 同学,if前面的(貌似是多余的,删除下,重新试试看,谢谢~

以上是关于sql同时满足两个条件的语法怎样写?要用where语句的主要内容,如果未能解决你的问题,请参考以下文章

SQL语句where多条件查询怎么写

SQL数据库里面WHERE语句要声明两个条件 中间要用啥连接

sql语句查询,根据一个表中一个列,该列在两个不同条件同时满足的查询结果

sql 查询同时满足一列中两个条件的记录

COUNT WHERE 在同一列中同时满足两个条件

SQL:如果两个条件都满足而不是在多个where中单独排除,如何仅排除条件?