mysql - SQL 查询按值返回重复行的 id

标签 mysql sql

给定

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/

相关文章:

mysql - 按月和年创建sql表

MySQL InnoDb : How solve speed issue with different order by columns needed

MySQL, MSSQL - SymmetricDS

sql - 使用 XML 数据类型读取存储在 SQL Server 2008 R2 中的 XML 文档

php - PHP 中的 MySQL 结果数组

SQL - 将 24 小时 ("military") 时间 (2145) 转换为 "AM/PM time"(9 :45 pm)

sql - 合并或分组与特定列 postgresql 对应的行

mysql - 简单的 MySQL 更新无法正常工作并出现一般错误

php - PDO->execute() 语句将不起作用并且在语法上是正确的

C# winforms向动态创建的标签页添加控件