如何去除一张表的abba类型的重复数据

jiaoshiyao 2019-08-01 12:00:55
表结构
字段 字段
数据A 数据B
数据B 数据A

对于这样的重复数据视为1条,如何去除,比如我想保留AB的那一条,或者我想保留BA的那一条
...全文
144 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 2019-08-01
  • 打赏
  • 举报
回复
引用 2 楼 奥萨马-本-拉登 的回复:
[quote=引用 1 楼 二月十六 的回复:] 用mssql写的,和mysql思路一样
--测试数据
if not object_id(N'Tempdb..#T') is null
	drop table #T
Go
Create table #T([字段A] nvarchar(23),[字段B] nvarchar(23))
Insert #T
select N'数据A',N'数据B' union all
select N'数据B',N'数据A' union all
select N'数据C',N'数据D'
Go
--测试数据结束
SELECT * FROM #T T1
WHERE NOT EXISTS(SELECT 1 FROM #T T2 WHERE T1.字段A=T2.字段B
    AND T1.字段B=T2.字段A AND T1.字段A>T2.字段A)
看来核心在T1.字段A>T2.字段A这个大于号上。。。[/quote]非常对
jiaoshiyao 2019-08-01
  • 打赏
  • 举报
回复
引用 1 楼 二月十六 的回复:
用mssql写的,和mysql思路一样
--测试数据
if not object_id(N'Tempdb..#T') is null
	drop table #T
Go
Create table #T([字段A] nvarchar(23),[字段B] nvarchar(23))
Insert #T
select N'数据A',N'数据B' union all
select N'数据B',N'数据A' union all
select N'数据C',N'数据D'
Go
--测试数据结束
SELECT * FROM #T T1
WHERE NOT EXISTS(SELECT 1 FROM #T T2 WHERE T1.字段A=T2.字段B
    AND T1.字段B=T2.字段A AND T1.字段A>T2.字段A)
看来核心在T1.字段A>T2.字段A这个大于号上。。。
二月十六 2019-08-01
  • 打赏
  • 举报
回复
用mssql写的,和mysql思路一样
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([字段A] nvarchar(23),[字段B] nvarchar(23))
Insert #T
select N'数据A',N'数据B' union all
select N'数据B',N'数据A' union all
select N'数据C',N'数据D'
Go
--测试数据结束
SELECT * FROM #T T1
WHERE NOT EXISTS(SELECT 1 FROM #T T2 WHERE T1.字段A=T2.字段B
AND T1.字段B=T2.字段A AND T1.字段A>T2.字段A)


56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧