首页 文章

选择重复项

提问于
浏览
0

我有一个看起来像这样的表:

id| country  |
===================
1 | Argelia  | 
2 | USA      |
3 | China    |
4 | Italy    |
4 | Italy    |
6 | USA      |
7 | USA      |
1 | Argelia  |

我想要一个选择重复国家/地区的查询,但仅限于ID不同时 . 因此,从上表中,查询将产生如下内容:

id| country  |
===================
2 | USA      |
6 | USA      |
7 | USA      |

意大利和Argelia也是重复的国家,但由于他们共享一个id,他们不应该在输出中 . 我能做什么?

2 回答

  • 0
    SELECT c.id, 
           c.country 
    FROM   countries c 
           INNER JOIN (SELECT country, 
                              COUNT(DISTINCT id) k 
                       FROM   countries 
                       GROUP  BY country 
                       HAVING k > 1) t 
             ON c.country = t.country
    

    see it working

  • 4
    SELECT country, COUNT(DISTINCT id) AS cnt, GROUP_CONCAT(id)
    FROM yourtable
    GROUP BY country, id
    HAVING cnt > 1
    

相关问题