Mysql 如何修复sql查询?

Mysql 如何修复sql查询?,mysql,sql,mariadb,Mysql,Sql,Mariadb,在这个noti_card_数据中,我的数据库模式 id | date | cmd | mbrNo -------------------------------------------- 1 2020-04-01 success 1 2 2020-04-29 fail - 我想要结果 id | date | cmd | mbrNo -----

在这个noti_card_数据中,我的数据库模式

  id      | date  |        cmd  |     mbrNo
--------------------------------------------
  1        2020-04-01      success    1
  2        2020-04-29      fail       -
我想要结果

  id      | date  |        cmd  |     mbrNo
--------------------------------------------
  1        2020-04-01      success    1
但是,发送这样的查询会导致错误

SELECT * FROM noti_card_data WHERE mbrNo = '1'  OR mbrNo = '-'  AND cmd ='success' 



 id      | date  |        cmd  |     mbrNo
--------------------------------------------
  1        2020-04-01      success    1
  2        2020-04-29      fail       -

如何修复我的查询?

请尝试以下操作,以下是解决方法

输出:

| id  | date       | cmd     | mbrNo |
| --- | ---------- | ------- | ----- |
| 1   | 2020-04-01 | success | 1     |
而不是

mbrNo = '1'  OR mbrNo = '-'
你可以说

mbrNo IN ('1', '-')
虽然这两个表达式是相同的,但更改碰巧解决了您的问题

真正的“问题”是

但是你想要

                       (a OR b) AND c

请参阅“运算符的优先级”。

从noti_card_数据中选择*,其中(mbrNo='1'或mbrNo='-')和cmd='success'@전준휘 为您提供了演示,如果它解决了您的问题,请单击勾号接受它。感谢您提供的查询无法产生您发布的结果。
a OR b AND c   means   a OR (b AND c)
                       (a OR b) AND c