【发布时间】:2017-02-21 13:42:04
【问题描述】:
我需要删除连续出现的重复值。 喜欢:
C1 | C2 | C3 | C4 | C5 | C6
----------------------------
1 | 2 | 1 | 2 | 1 | 3
1 | 2 | 1 | 3 | 1 | 4
1 |NULL| 1 |NULL| 1 |NULL
查询的输出应该是:
C1 | C2 | C3 | C4 | C5 | C6
----------------------------
1 | 2 | 1 | 3 |NULL|NULL
1 | 2 | 1 | 3 | 1 | 4
1 |NULL|NULL|NULL|NULL|NULL
如您所见,两列的组合在一行中应该是唯一的。
在第 1 行:
1/2 的组合是重复的,因此将其删除并且 1/3 在 c5/c6 中被移动到 c3/c4
在第 2 行:
1/2 , 1/3, 1/4 的组合没有重复,所以结果没有变化
在第 3 行:
所有 3 种组合都相同,因为所有组合中都存在 1/NULL,因此 c3 到 c6 设置为 null。
提前致谢
【问题讨论】:
-
你的问题不是很准确。你到底需要什么?您的示例可以以多种方式解释,并且您的描述自相矛盾。 “删除一行中存在的重复值”与“两列的组合应该在一行中是唯一的”不同。另外,哪些组合应该是唯一的?
-
更新了问题!!
-
所有列都来自同一个表吗?显示查询的 SQL
-
是的,所有列都在同一个表中
-
我不明白您的输出是什么,并且我没有看到该输出与“2 列的组合应该在一行中是唯一的”这句话之间的匹配。你真的应该添加更多细节。