鉴于
CREATE TABLE `region` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`parent_region_id` bigint(20) DEFAULT NULL,
`name` varchar(128) NOT NULL
记录如下:
1|300|new york|
2|300|new york|
3|500|seattle|
4|800|los angeles|
5|999|los angeles|
6|600|huston|
7|600|huston|
如何运行SQL查询,该查询将使用相同的parent_region_id按'name'返回所有重复项。例如,根据上面给出的数据,我应该得到两个结果:
1,2
6,7
但不是
4,5
谢谢!
答案 0 :(得分:0)
SELECT id, COUNT(*) c
FROM region
GROUP BY name
HAVING c > 1
答案 1 :(得分:0)
桌上的自我加入怎么样
select t1.id,
t2.id
from region t1
inner join region t2
on t1.name = t2.name
and t1.parent_region_id = t2.parent_region_id
and t1.id <> t2.id