Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 显示重复的行号_Mysql_Sql_Duplicates - Fatal编程技术网

Mysql 显示重复的行号

Mysql 显示重复的行号,mysql,sql,duplicates,Mysql,Sql,Duplicates,我将一个表连接到它本身以查找重复的行 select a.data, a.rowNumber, b.rowNumber from DuplicateRows as a join DuplicateRows as b on a.data = b.data and a.Id != b.Id group by a.data, a.rowNumber, b.rowNumber 此查询给出如下结果 "content" | 1 | 2 "content" | 1 | 6 "content" | 2 | 1

我将一个表连接到它本身以查找重复的行

select a.data, a.rowNumber, b.rowNumber
from DuplicateRows as a
join DuplicateRows as b 
on
a.data = b.data and a.Id != b.Id
group by a.data, a.rowNumber, b.rowNumber
此查询给出如下结果

"content" | 1 | 2
"content" | 1 | 6
"content" | 2 | 1
"content" | 2 | 6 
...and so on
为什么我要重写它以形成这样的结果

"content" | 1 | 2, 6
编辑

我认为这个问题应该纠正一下。 你看,我不想得到相反的结果,我的意思是我只想得到 一项

`1 -> 2, 6` 
不是

谢谢

使用组_CONCAT


尝试mysql中的GROUP_CONCAT函数

select a.data, a.rowNumber, group_concat(b.rowNumber)
from DuplicateRows as a
join DuplicateRows as b 
on
a.data = b.data and a.Id != b.Id
group by a.data, a.rowNumber, b.rowNumber

根据您最近的编辑,我认为这是您需要的:

SELECT a.data, a.a, GROUP_CONCAT( DISTINCT b.a)
FROM TableName as a
JOIN TableName as b 
    ON a.data = b.data AND a.a < b.a
GROUP BY a.data
附言 我用过并稍微修改了吴宇森的桌子

编辑 此查询的结果相对较好:

SELECT a.data, MIN(a.rowNumber), GROUP_CONCAT( DISTINCT b.rowNumber)
FROM DuplicateRows AS a
JOIN DuplicateRows AS b 
  ON a.data = b.data AND a.rowNumber < b.rowNumber
GROUP BY a.data
小提琴是。

而不是a.Id!=b、 我建议b.Id>a.Id
SELECT a.data, a.a, GROUP_CONCAT( DISTINCT b.a)
FROM TableName as a
JOIN TableName as b 
    ON a.data = b.data AND a.a < b.a
GROUP BY a.data
SELECT a.data, MIN(a.rowNumber), GROUP_CONCAT( DISTINCT b.rowNumber)
FROM DuplicateRows AS a
JOIN DuplicateRows AS b 
  ON a.data = b.data AND a.rowNumber < b.rowNumber
GROUP BY a.data