我有一个看起来像这样的表:
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,他们不应该在输出中。我该怎么办?
答案 0 :(得分:4)
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
答案 1 :(得分:0)
SELECT country, COUNT(DISTINCT id) AS cnt, GROUP_CONCAT(id)
FROM yourtable
GROUP BY country, id
HAVING cnt > 1