显示重复的行值
Display duplicate row values
我正在寻找一种方法来列出具有重复列值的所有行。
示例:
Table地址
House Person
23 Joe
23 Jane
27 Chris
29 Grandpa
预期输出:
House Person
23 Joe
23 Jane
我想这样做,这样我就可以操纵住在同一栋房子里的人的价值观。
我会先获取所有超过一个人的房屋 ID:
SELECT house
FROM myTable
GROUP BY house
HAVING COUNT(*) > 1;
然后,您可以将其与您原来的 table 合并,以获取住在这些房屋中的人:
SELECT m.*
FROM myTable m
JOIN (SELECT house FROM myTable GROUP BY house HAVING COUNT(*) > 1) temp
ON temp.house = m.house;
这是一个 SQL Fiddle 示例。
试试这个:
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
我正在寻找一种方法来列出具有重复列值的所有行。
示例: Table地址
House Person
23 Joe
23 Jane
27 Chris
29 Grandpa
预期输出:
House Person
23 Joe
23 Jane
我想这样做,这样我就可以操纵住在同一栋房子里的人的价值观。
我会先获取所有超过一个人的房屋 ID:
SELECT house
FROM myTable
GROUP BY house
HAVING COUNT(*) > 1;
然后,您可以将其与您原来的 table 合并,以获取住在这些房屋中的人:
SELECT m.*
FROM myTable m
JOIN (SELECT house FROM myTable GROUP BY house HAVING COUNT(*) > 1) temp
ON temp.house = m.house;
这是一个 SQL Fiddle 示例。
试试这个:
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