怎样一次性删除所有成对的相反数?

wuaza 2006-01-19 11:38:43
表1如下:
id t1 t2
1 a 3
2 b 12
3 a -3
4 a 3
5 a 33
6 b 12
7 b 11
8 c 9
9 c -9
我想把所有的负数及与每个负数相反的一个正数删除,达到以下效果:
id t1 t2
2 b 12
4 a 3
5 a 33
6 b 12
7 b 11
请问用SQL怎么解决?
...全文
99 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
-狙击手- 2006-01-19
  • 打赏
  • 举报
回复
wuaza 2006-01-19
  • 打赏
  • 举报
回复
子陌兄出手果然厉害,请问你的QQ是多少,非常希望结交你这样的一流高手
子陌红尘 2006-01-19
  • 打赏
  • 举报
回复
declare @t table(id int,t1 char(1),t2 int)
insert into @t select 1,'a',3
insert into @t select 2,'b',12
insert into @t select 3,'a',-3
insert into @t select 4,'a',3
insert into @t select 5,'a',33
insert into @t select 6,'b',12
insert into @t select 7,'b',11
insert into @t select 8,'c', 9
insert into @t select 9,'c',-9

delete a from @t a
where
(select count(*) from @t where id<=a.id and t1=a.t1 and t2=a.t2)<=
(select count(*) from @t where t1=a.t1 and t2=-a.t2)

select * from @t

/*
id t1 t2
---- ---- ----
2 b 12
4 a 3
5 a 33
6 b 12
7 b 11
*/

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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