给定
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 的所有重复项。例如,给定上面的数据,我应该得到两个结果:
1,2
6,7
但不是
4,5
谢谢!
最佳答案
在桌面上进行自连接怎么样
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
关于mysql - SQL 查询按值返回重复行的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50918466/