MySQL基于多列的值进行选择

时间:2015-09-18 21:38:00

标签: mysql sql

我希望能够根据多列的值选择行,例如,给定下表:

column_1 | column_2 | column_3
------------------------------
1        | a        | b
2        | a        | c
3        | b        | z

我不知道怎么做,我当前的MySQL语句看起来像这样:

SELECT * FROM table WHERE column_2, column_3 IN ((a, b), (b, z));

这不起作用,但我希望我想要实现的目标是显而易见的。有谁知道怎么做?

2 个答案:

答案 0 :(得分:3)

您需要在列名称周围添加括号。你需要引用字符串。

SELECT * FROM table 
WHERE (column_2, column_3) IN (('a', 'b'), ('b', 'z'));

DEMO

答案 1 :(得分:0)

正如Barmar已经提到过括号..或者为什么不使用逻辑查询;) 哪些人发现它更容易......

SELECT * FROM Table1 
WHERE
(column_2 = 'a' and column_3 = 'b')
or
(column_2 = 'b' and column_3 = 'z')
;