MySQL选择col1(int)的值为2或3且col2(tinybit)=0的位置

MySQL选择col1(int)的值为2或3且col2(tinybit)=0的位置,mysql,Mysql,正如您在问题中所看到的,我需要选择具有动态给定的两个值之一的所有行,其中行布尔值(tinyint)为false 这是我当前的查询,但它仅排除类别公司id为0且类别公司id已禁用为1的行,而不包括类别公司id为1且类别公司id已禁用为1的行 SELECT * FROM `category` WHERE `category_company_id` = 1 OR `category_company_id` = 0 AND `category_disabled` = 0 我做错了什么 有没有办法

正如您在问题中所看到的,我需要选择具有动态给定的两个值之一的所有行,其中行布尔值(tinyint)为false

这是我当前的查询,但它仅排除
类别公司id
为0且
类别公司id已禁用
为1的行,而不包括
类别公司id
为1且
类别公司id已禁用
为1的行

SELECT * FROM `category` 
WHERE `category_company_id` = 1 
OR `category_company_id` = 0 
AND `category_disabled` = 0
我做错了什么

有没有办法将WHERE和/或与and分开


提前感谢

您的代码相当于:

WHERE `category_company_id` = 1 
OR (`category_company_id` = 0 AND `category_disabled` = 0)
因为和的优先级高于或。
可以使用括号:

WHERE (`category_company_id` = 1 OR `category_company_id` = 0 )
AND `category_disabled` = 0
或操作员:

WHERE `category_company_id` IN (0, 1) AND `category_disabled` = 0

使用括号。