【问题标题】:Select from table using multiple conditions使用多个条件从表中选择
【发布时间】:2014-12-17 13:59:06
【问题描述】:

我有下表:

| id | market | source | event |
+----+--------+--------+-------+
| 1  |   1    |   1    |   1   |
| 2  |   1    |   2    |   1   |
| 3  |   2    |   1    |   1   |
| 4  |   3    |   1    |   2   |
| 5  |   1    |   3    |   1   |

我希望能够选择 (market = 1 AND event = 1) 以及 (market = 3 AND event = 2) 的行。有人能指出我正确的方向吗?

【问题讨论】:

  • 您听说过where 子句吗?

标签: mysql sql select group-by where


【解决方案1】:

这应该是您需要的选择:

select * from `table` where  (market = 1 AND event = 1) or (market = 3 AND event = 2)

【讨论】:

    【解决方案2】:

    在哪里(市场 = 1 AND 事件 = 1)还有哪里(市场 = 3 AND 事件 = 2) 上面可以转换成

    WHERE (market = 1 AND event = 1)  OR (market = 3 AND event = 2)
    

    【讨论】:

      【解决方案3】:

      在此处将 t_table 替换为您的表名:

      Select * from t_table where (market = 1 and event = 1) or (market = 3 and event = 2)
      

      【讨论】:

        【解决方案4】:

        试试这个:

        SELECT source 
        FROM tableA 
        WHERE (market = 1 AND event = 1)  OR 
              (market = 3 AND event = 2) 
        GROUP BY source 
        HAVING COUNT(1) = 2;
        

        【讨论】:

          猜你喜欢
          • 2021-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多