在MySQL的同一列中选择两个不同的值

时间:2012-10-04 10:12:31

标签: php mysql

QUERY

SELECT *
FROM `products`
WHERE (
`category` = 'a'
AND `category` = 'b'
)

的MySQL

products
---
id      sku     category
-------------------------
1       34343   a
2       32523   d
3       23234   b
4       23433   b
5       23442   c

我想要返回A和B

5 个答案:

答案 0 :(得分:9)

SELECT *
FROM `products`
WHERE (
`category` = 'a'
OR `category` = 'b'
)

OR

SELECT *
FROM `products`
WHERE
`category` IN ('a', 'b')

您可以使用IN子句替换许多OR条件。 IN只是检查一个值是否在一组值内。

答案 1 :(得分:2)

您必须使用OR运算符,因为使用AND选择类别为A和B的位置,但您必须选择A或B类别的位置

SELECT *
FROM `products`
WHERE (
`category` = 'a' OR `category` = 'b'
)

答案 2 :(得分:1)

SELECT *
FROM `products`
WHERE `category` in('a','b')

答案 3 :(得分:1)

SELECT * 来自products 哪里 ({a','b')中的category

答案 4 :(得分:1)

你可以这样做:

  

选择c1   从表   在哪里c2 IN(1,2,3,4)   GROUP BY c1   有COUNT(c2)= 4;