sql server 表中查出某一个字段重复的纪录

wangdachuan 2003-06-28 10:30:54
sql server 表中查出某一个字段重复的纪录;
问题:
一个表中,为了某种方便(批量导入数据),没有建立唯一性索引,
但是要求这一个字段唯一,现在需要将这一个表中,这一个字段重复的纪录使用sql 筛选出来
,请举例说明,谢谢,好用一定给分,谢谢
...全文
647 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
benxie 2003-07-10
  • 打赏
  • 举报
回复
用CrazyFor(蚂蚁)就可以 都完成了

itzero 2003-07-10
  • 打赏
  • 举报
回复
select 重复字段,count(*) from table
group by 重复字段
having count(*)>1

------------------------
已测试。。。
angelior 2003-07-10
  • 打赏
  • 举报
回复
同病!:)
我正找!
hjb111 2003-07-04
  • 打赏
  • 举报
回复
up
wangdachuan 2003-07-04
  • 打赏
  • 举报
回复
问题难度不大,给分不多,大家不介意吧,呵呵,多谢各位帮忙了
wangdachuan 2003-07-04
  • 打赏
  • 举报
回复
如何给分
wangdachuan 2003-07-01
  • 打赏
  • 举报
回复
参与就有份(分)
wangdachuan 2003-06-28
  • 打赏
  • 举报
回复
呵呵,我看来是最苯的了,这么多人都关注,谢谢
wangdachuan 2003-06-28
  • 打赏
  • 举报
回复
我周一才能使用,我使用好了再给你分,首先表示感谢,能将这个数据集,插入到另一个表中麽,并将当前表中的重复数据删除,再次表示感谢你的关注,周一给分
hbwhwanghua 2003-06-28
  • 打赏
  • 举报
回复
select colname,count(colname) from tablename group by colname having count(colname) > 1
Anstinus 2003-06-28
  • 打赏
  • 举报
回复
如果重复的字段是f1
select * from table t1 where (select count(t2.f1) from table t2 group by t2.f1 where t2.f1 = t1.f1) > 1
CrazyFor 2003-06-28
  • 打赏
  • 举报
回复
删除重复记录可以:

如果有ID字段,就是具有唯一性的字段

delect table where id not in (

select max(id) from table group by col1,col2,col3...
)
group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。



2,如果是判断所有字段也可以这样
select * into #aa from table group by id1,id2,....
delete table
insert into table
select * from #aa



3,没有ID的情况

select identity(int,1,1) as id,* into #temp from tabel
delect # where id not in (
select max(id) from # group by col1,col2,col3...)
delect table
inset into table(...)
select ..... from #temp


col1+','+col2+','...col5 联合主键


select * from table where col1+','+col2+','...col5 in (

select max(col1+','+col2+','...col5) from table
where having count(*)>1
group by col1,col2,col3,col4
)
group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。

2,
select identity(int,1,1) as id,* into #temp from tabel
select * from #temp where id in (
select max(id) from #emp where having count(*)>1 group by col1,col2,col3...)
CrazyFor 2003-06-28
  • 打赏
  • 举报
回复
select * from 表 where 这个字段 in (select 这个字段 from 表 group by 这个字段 having count(*)>1)
zjcxc 元老 2003-06-28
  • 打赏
  • 举报
回复
蚂蚁的已经够详细了.
netdreamingboy 2003-06-28
  • 打赏
  • 举报
回复
是SQL SERVER 2K?
我可以给你一个数据冗余检查程序,多种灵活处理方式,包括保留一条冗余纪录等,但是因为是在工作时间内开发的,所以只能给编译好的可运行程序,需要给我发邮件:
TRVELER@263.NET

34,593

社区成员

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

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