通过重复的字段值选择

时间:2014-02-04 11:54:48

标签: mysql sql

有表PETS

id | field_a | field_b

需要巧合选择一个领域,这不仅仅是巧合。 例如

id | field_a | field_b
1  | cats    | 13
2  | cats    | 15
3  | cats    | 16
4  | dogs    | 15
5  | dogs    | 16
6  | birds   | 13
7  | birds   | 19
8  | birds   | 14

结果,获得了

cats
dogs

获得此结果是因为只有这些记录匹配field_b(15和16)中的多个条目。

1 个答案:

答案 0 :(得分:1)

您可以尝试这样的查询:

SELECT p1.field_a 
FROM pets p1 
INNER JOIN pets p2 ON (p1.field_b = p2.field_b AND p1.id != p2.id) 
GROUP BY p1.field_a,p2.field_a 
HAVING count(p1.field_b) > 1