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

推荐订阅源

Vercel News
Vercel News
SecWiki News
SecWiki News
WordPress大学
WordPress大学
小众软件
小众软件
博客园 - 司徒正美
酷 壳 – CoolShell
酷 壳 – CoolShell
V
Visual Studio Blog
Y
Y Combinator Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
云风的 BLOG
云风的 BLOG
MyScale Blog
MyScale Blog
K
Kaspersky official blog
T
The Exploit Database - CXSecurity.com
腾讯CDC
Scott Helme
Scott Helme
I
InfoQ
Cyberwarzone
Cyberwarzone
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Security Latest
Security Latest
The Register - Security
The Register - Security
Project Zero
Project Zero
F
Fortinet All Blogs
C
CERT Recently Published Vulnerability Notes
A
Arctic Wolf
C
Cisco Blogs
L
LINUX DO - 热门话题
P
Privacy International News Feed
IT之家
IT之家
U
Unit 42
P
Privacy & Cybersecurity Law Blog
H
Help Net Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
C
Cyber Attacks, Cyber Crime and Cyber Security
P
Palo Alto Networks Blog
F
Full Disclosure
宝玉的分享
宝玉的分享
Simon Willison's Weblog
Simon Willison's Weblog
L
Lohrmann on Cybersecurity
Google DeepMind News
Google DeepMind News
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
H
Hacker News: Front Page
Know Your Adversary
Know Your Adversary
PCI Perspectives
PCI Perspectives
Hugging Face - Blog
Hugging Face - Blog
AWS News Blog
AWS News Blog
MongoDB | Blog
MongoDB | Blog
S
Schneier on Security
Recent Announcements
Recent Announcements
Forbes - Security
Forbes - Security
Cisco Talos Blog
Cisco Talos Blog

博客园 - 破曉之陽

SQL 查找某年某月的天数 SQL操作全集 创建触发器和使用示例(于海涛 老师的实验课) 因为没工作了。所以的复习一下以前的东西。好去面试 SQL Server性能优化 应用Profiler优化SQL Server数据库系统 SQL CASE - 破曉之陽 - 博客园 SQL EXISTS - 破曉之陽 - 博客园 SQL left,RIGHT,CHARINDEX 使用示例 80048820 - 破曉之陽 - 博客园 奇怪的问题。 - 破曉之陽 - 博客园 如何在 Windows 2000 中提升和降级域控制器 Microsoft.Exchange.OMA.PreferencingServerResources.Resources.dll.EN 指定的網域的名稱或安全性識別碼(用磁碟映像檔部署的電腦無法加入AD網域 ) Microsoft.NET框架程序设计(修订版) 下载地址 将这个字段中所有含‘北京’的替换成'上海' 电脑自动重启 演练:使用受保护的配置加密配置信息 vs c#2005 web编程中的.cs文件为什么都没有namespace?
SQL 刪除相同的記錄
破曉之陽 · 2008-04-29 · via 博客园 - 破曉之陽

問:
在sqlserver一个表中,有id,name,xm三个字段,共10条记录,记录的id值有重复,但是name,xm没有重复的,现在想将id重复的记录只保留一条,如何写sql语句??
答:
删除重复数据  
   
  一、具有主键的情况  
  a.具有唯一性的字段id(为唯一主键)  
  delect   table    
  where   id   not   in    
  (  
  select   max(id)   from   table   group   by   col1,col2,col3...  
  )  
  group   by   子句后跟的字段就是你用来判断重复的条件,如只有col1,  
  那么只要col1字段内容相同即表示记录相同。  
   
  b.具有联合主键  
  假设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字段内容相同即表示记录相同。  
   
   
  or  
  select   *   from   table     where   exists   (select   1   from   table   x   where   table.col1   =   x.col1   and    
  table.col2=   x.col2   group   by   x.col1,x.col2   having   count(*)   >1)  
   
  c:判断所有的字段  
      select   *   into   #aa   from   table   group   by   id1,id2,....  
      delete   table    
      insert   into   table    
      select   *   from   #aa  
   
  二、没有主键的情况  
   
  a:用临时表实现  
  select   identity(int,1,1)   as   id,*   into   #temp   from   ta  
  delect   #temp    
  where   id   not   in    
  (  
      select   max(id)   from   #   group   by   col1,col2,col3...  
  )  
  delete   table   ta  
  inset   into   ta(...)  
        select   .....   from   #temp  
   
  b:用改变表结构(加一个唯一字段)来实现  
  alter   table   表   add     newfield   int   identity(1,1)  
  delete   表  
  where   newfield   not   in  
  (  
  select   min(newfield)   from   表   group   by   除newfield外的所有字段  
  )  
   
  alter   table   表   drop   column   newfield