mysql数据库sql语句删除语句的使用
如图中所建的表,怎么删去p1,p2逆反(11,12的逆反是12,11)的记录,最后剩下id=1,p1=11,p2=12的元素。...
如图中所建的表,怎么删去p1,p2逆反(11,12的逆反是12,11)的记录,最后剩下id=1,p1=11,p2=12的元素。
展开
5个回答
展开全部
问题:表中的数据量大么?大概有多少数据量?
以下SQL已跑通,应满足你的需求
注:b_f 为表名
create table b_f(id int,p1 int,p2 int);
insert into b_f values(1,2,1);
insert into b_f values(2,1,2);
insert into b_f values(3,11,12);
insert into b_f values(4,12,11);
insert into b_f values(5,13,2);
go
初始化数据:
delete b_f where id in
(
select id from b_f where p1 in
(select case when a.p1> a.p2 then a.p1 else a.p2 end from b_f a, b_f b
where a.p1 = b.p2 and a.p2 = b.p1)
)
删除逆反的p1较的值后的结果:
追问
有3000万条数据,这个有妙招吗?
展开全部
delete a from table a,table b where a.p1 = p.p2 and a.p1>b.p2
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
貌似多条数据的话,删除就都删除了,不能够剩余一条吧。
这个感觉还是程序操作比较好吧
这个感觉还是程序操作比较好吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题不够详细,id列是否为自增唯一列?如果图中1行和2行互换,应该保留哪一行?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这么牛啊 我也想知道 关注一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询