zoukankan      html  css  js  c++  java
  • [转]六种删除数据库重复行的方法

    SQL Server删除重复行是我们最常见的操作之一,下面就为您介绍六种适合不同情况的SQL Server删除重复行的方法,供您参考。

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

    1. delect table where id not in (

    2. select max(id) from table group by col1,col2,col3...
    3. )

    group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。

    2. 如果是判断所有字段也可以这样

    1. select * into #aa from table group by id1,id2,....
    2. delete table
    3. insert into table
    4. select * from #aa

    3. 没有ID的情况

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

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

    1. select * from table where col1+','+col2+','...col5 in (
    2. select max(col1+','+col2+','...col5) from table
    3. where having count(*)>1
    4. group by col1,col2,col3,col4
    5. )

    group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。

    5.

    1. select identity(int,1,1) as id,* into #temp from tabel
    2. select * from #temp where id in (
    3. select max(id) from #emp where having count(*)>1 group by col1,col2,col3...)

    6.

    1. select distinct * into #temp from tablename
    2. delete tablename
    3. go
    4. insert tablename select * from #temp Sqlclub
    5. go
    6. drop table #temp

    以上就是SQL Server删除重复行的方法介绍。

  • 相关阅读:
    GJM : Unity的profiler性能分析【转载】
    GJM :Unity UI 之 UGUI 开发
    GJM:笔记记录
    GJM : UGUI 缩放循环拖动展示卡牌效果
    GJM :HTC Vive VRTK.Package 踩坑之路(一)
    GJM :Mono 介绍
    GJM :Unity3D 介绍
    GJM : C# 介绍
    GJM : 通用类型系统(Common Type System CTS)
    GJM :SQL Server中常用的SQL语句
  • 原文地址:https://www.cnblogs.com/lmfeng/p/2167095.html
Copyright © 2011-2022 走看看