怎样删除一个表中一个字段具有相同值的其中一条记录

咏帆 2005-10-18 03:58:23
怎样删除一个表中一个字段具有相同值的其中一条记录
如:表abc中有字段a,b,c
a字段中有相同有值
怎么样删除含有相同值的记录,只保留最前的记录~
...全文
136 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhwufeng 2005-10-19
  • 打赏
  • 举报
回复
create table #abcd(abc int bbc int)
insert #abcd values(1,1)
insert #abcd values(2,2)
insert #abcd values(3,3)
insert #abcd values(3,4)
insert #abcd values(3,5)


delete from #abcd where bbc in(
select a.bbc from #abcd as a join
(select abc,count(abc) as tt from #abcd group by abc having count(abc)>1) as b
on a.abc = b.abc and a.bbc <>
(
select top 1 a.bbc from #abcd as a join
(select abc,count(abc) as tt from #abcd group by abc having count(abc)>1) as b
on a.abc = b.abc
)
)
Mr_shao 2005-10-18
  • 打赏
  • 举报
回复
delete from (select count(a) as a1 form t1) tt where tt.a1>0

试试吧,前几天写过但记不太清了!
咏帆 2005-10-18
  • 打赏
  • 举报
回复
delete abc
from abc tt
where exists(select 1 from abc where a=tt.a and b<tt.b)


这个也不对
咏帆 2005-10-18
  • 打赏
  • 举报
回复
--不好意思,上面那个发错了
delete from t1
where a in
(select top 1 a from t1 as aa
where aa.a >t1.a
group by a
having count(a)>1
order by a)



这个不行
咏帆 2005-10-18
  • 打赏
  • 举报
回复
试下先哈
$扫地僧$ 2005-10-18
  • 打赏
  • 举报
回复
delete abc
from abc tt
where exists(select 1 from abc where a=tt.a and b<tt.b)
QQMagicer 2005-10-18
  • 打赏
  • 举报
回复

--不好意思,上面那个发错了
delete from t1
where a in
(select top 1 a from t1 as aa
where aa.a >t1.a
group by a
having count(a)>1
order by a)
QQMagicer 2005-10-18
  • 打赏
  • 举报
回复
delete from t1
where a <> ( select top 1 a from t1 group by id having count(a)>1 order by a)
咏帆 2005-10-18
  • 打赏
  • 举报
回复
路过的帮忙看下哈~~~~~~~

34,593

社区成员

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

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