惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
Jina AI
Jina AI
WordPress大学
WordPress大学
Recent Announcements
Recent Announcements
G
Google Developers Blog
I
InfoQ
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
P
Proofpoint News Feed
MyScale Blog
MyScale Blog
M
MIT News - Artificial intelligence
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
C
Check Point Blog
J
Java Code Geeks
T
Tailwind CSS Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Microsoft Security Blog
Microsoft Security Blog
MongoDB | Blog
MongoDB | Blog
V
Visual Studio Blog
人人都是产品经理
人人都是产品经理
量子位
A
About on SuperTechFans
D
DataBreaches.Net
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - 人淡如菊

Microsoft SQL Server基础:数据库触发器创建、执行、修改、删除 SQL分组查询 如何在IIS7下配置ASP+ACCESS环境 delphi 笔记 电脑开机进入不了XP界面 IBM X系列笔记本通过U盘安装系统方法全攻略 DELPHI 访问其它电脑文件(局域网) 如何得到动态链接库的输出函数(delphi tdump.exe) 电脑小子的新婚夜 笔记本维修小插曲 屏幕不亮处理方式 2007中国发烧盘点之作《天路》发烧女声版 电脑电源品牌介绍 谈谈一些知名的电源厂家 无法删除xxx文档/文件夹:找不到指定的路径。请确定指定的路径是否正确 常用电子技术网 各大品牌液晶显示器工程模式 一台电脑安装多个(虚拟)网卡问题 Windows程序中的字符编码 Emeditor 与正则表达式 DELPHI 通用的数据记录复制过程
sql server重复数据处理
人淡如菊 · 2008-06-04 · via 博客园 - 人淡如菊

  在处理数据库表数据实,常常会遇到有重复数据的情况,这样的情况往往还就两条纪录重复,删除重复记录有好多方法,用程序循环来实现,也可用sql语句来实现,下面就介绍用sql语句实现的方法。

      首先从上千条记录中找出是重复的记录,sql语句:

   select
     keyColumn
from
     testTable
group by keyColumn
having count(*)>1

       其中 keyColumn 就是关键列,以此来区分,其他数据。

       其次,找出要删除的一列,怎么找,当然要根据能区分两条重复记录的标识了,别告诉我没有,那就建立一个自增id吧,下面也已自增id来区分数据的:

   select
    
max(id)
from
     testTable
where
     keyColumn
   in
(
    
select
         keyColumn
    
from
         testTable
    
group by keyColumn
    
having count(*)>1
)
group by keyColumn,id

       上面是要删除两条记录中最大id的记录,min函数就是删除最小的。

       最后就是真正的要删除了,sql语句:

   delete from keyColumn
where
     id
in
(
    
select
        
max(id)
    
from
         testTable
    
where
         id
in
     (
        
select
             keyColumn
        
from
             testTable
        
group by keyColumn
        
having count(*)>1
     )
    
group by keyColumn,id
)

       ok,大功告成,有两条重复的记录就是这样被消灭掉了。