显示重复的行值

时间:2015-01-29 16:05:05

标签: mysql sql duplicates

我正在寻找一种列出具有重复列值的所有行的方法。

实施例: 表格地址

House Person
23     Joe
23     Jane
27     Chris
29     Grandpa

预期产出:

House Person
23     Joe
23     Jane

我想这样做,所以我可以操纵住在同一栋房子里的人的价值观。

2 个答案:

答案 0 :(得分:0)

我首先要让所有拥有多个人的家庭成员:

SELECT house
FROM myTable
GROUP BY house
HAVING COUNT(*) > 1;

然后,您可以将其与原始表格一起使用,以吸引住在这些房子里的人们:

SELECT m.*
FROM myTable m
JOIN (SELECT house FROM myTable GROUP BY house HAVING COUNT(*) > 1) temp
   ON temp.house = m.house;

以下是SQL Fiddle示例。

答案 1 :(得分:0)

试试这个:

select b.house, a.person from
    (
        select person,house
        from address
    )a,
    (
        select house,count(house) as cnt
        from address
        group by house
    )b
where a.house = b.house
and b.cnt > 1