Mysql使用AND查询WHERE

时间:2011-06-15 18:46:15

标签: mysql where-clause

我有一张桌子

id|customer_id|comment
1   34                       good
2   23                       bad
3   34                      regular
4   76                       longterm
5   34                       bad
6   23                      good

我们可以看到一个customer_id有不同的评论(前 - 34有好的常规坏) 我试图从上表中记录评论“好又坏”的记录,并按customer_id分组,所以在结果中我应该看到记录id => 1,5,2,6

有人可以帮我写这个where子句。

问候

1 个答案:

答案 0 :(得分:3)

要让一行数据引用另一行,您需要一个连接。在这种情况下,您将要加入对自己的评论:

select distinct a.customer_id 
from comments a 
join comments b on a.customer_id = b.customer_id and a.id < b.id 
where a.comment = 'good'
and b.comment = 'bad'

我选择a.id < b.id语法以避免在两个方向上执行相同的连接,从而导致重复工作。通过指定distinct,您将只看到每个客户一次。