MySQL - 选择大于或特定值

问题描述:

这是一个简单的问题,但我陷入了困境。基本上我需要在以下AND语句添加到查询:MySQL - 选择大于或特定值

AND a.d_max > '0' AND a.max > '0' 

,但我也想使它所以最大是除0或= U,因为如果它被设置到U就意味着无限大。所以像这样的:

AND a.d_max > '0' OR a.d_max = u AND a.max > '0' OR a.max = u 

我会怎么做呢?

+0

是ua字段名称还是常量?请注意,您可能实际上想要使用'> 0',而不是'>'0'',因为'='u''也是'>'0''。 – 2013-03-12 17:13:03

我觉得你的逻辑是好的,但你只是缺少一些括号:

AND 
    (a.d_max > '0' OR a.d_max = u) AND (a.max > '0' OR a.max = u) 

可以使用paranthesis优先的表达式/条件的评价:

在你的情况,我想你需要这个:

AND (a.d_max > '0' OR a.d_max = u) AND (a.max > '0' OR a.max = u)