2015-01-29 3 views
-1

Я ищу способ перечислить все строки с повторяющимся значением столбца.Отобразить повторяющиеся значения строк

Пример: Таблица Адрес

House Person 
23  Joe 
23  Jane 
27  Chris 
29  Grandpa 

Ожидаемый результат:

House Person 
23  Joe 
23  Jane 

Я хотел бы сделать это так, я могу манипулировать ценности людей, которые живут в одном доме.

+3

Пожалуйста, покажите нам, что вы уже пробовали. Теперь похоже, что вы хотите, чтобы мы сделали для вас работу. Я надеюсь, что люди перестанут отвечать на эти вопросы, где ОП явно не прикладывает никаких усилий. – dayuloli

ответ

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

Meta: http://meta.stackoverflow.com/a/255460/3131147 – AdamMc331

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 
+0

Оставьте свой комментарий, почему мой ответ был проголосован, было бы здорово .. :) – RubahMalam

Смежные вопросы