??请教一个删除数据的问题(表中记录前几个字段重复,最后一项不重复)

xeonfeng 2005-11-25 10:12:13
请教
如下表 table
num name money other date license

200 wangle 760000 675651.3820010629 0204
200 wangle 760000 675651.38 20010629 0206
200 wangle 760000 675651.38 20010629 0289
200 wangle 760000 675651.38 20010629 0290
201 wangle 760000 675651.38 20010629 0204
201 wangle 760000 675651.38 20010629 0206
201 wangle 760000 675651.38 20010629 0289
201 wangle 760000 675651.38 20010629 0290
202 wangle 760000 677380.71 20010702 0204
202 wangle 760000 677380.71 20010702 0206
202 wangle 760000 677380.71 20010702 0289
202 wangle 760000 677380.71 20010702 0290
203 wangle 760000 677380.71 20010702 0204
203 wangle 760000 677380.71 20010702 0206
203 wangle 760000 677380.71 20010702 0289
203 wangle 760000 677380.71 20010702 0290
.......

如何删除表中num,name,money,other,date均重复的记录,使得license中的数据不重复且唯一

得到如下结果:
=================================
num name money other date number
200 wangle 760000 675651.38 20010629 0204
201 wangle 760000 675651.38 20010629 0206
202 wangle 760000 677380.71 20010702 0289
203 wangle 760000 677380.71 20010702 0290
...全文
111 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xeonfeng 2005-11-26
  • 打赏
  • 举报
回复
还是删除不掉重复记录呀,请大家帮我看看吧!
(最后的要求是num 和license 都不能有重复的,但是都不能被漏掉或者删掉)
xeonfeng 2005-11-25
  • 打赏
  • 举报
回复
还有那位大侠发表一下意见?!
子陌红尘 2005-11-25
  • 打赏
  • 举报
回复
delete a
from
[table] a
where
(select count(distinct *) from [table] where num<=a.num)
!=(select count(*) from [table] where num=a.num and number<=a.number)
xueguang 2005-11-25
  • 打赏
  • 举报
回复
select distinct * into #1 from 表

truncate table 表

insert 表 select * from #1
xeonfeng 2005-11-25
  • 打赏
  • 举报
回复
xueguang(xg)

筛选出来的license不能重复,而且不能露掉,比如,上面的应为
0204
0206
0289
0290

xueguang 2005-11-25
  • 打赏
  • 举报
回复
select num,name,money,other,date,min(license) license into #1 from 表 group by num,name,money,other,date

truncate table 表

insert 表 select * from #1

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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