我正在寻找一种列出具有重复列值的所有行的方法。
实施例: 表格地址
House Person
23 Joe
23 Jane
27 Chris
29 Grandpa
预期产出:
House Person
23 Joe
23 Jane
我想这样做,所以我可以操纵住在同一栋房子里的人的价值观。
答案 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