zoukankan      html  css  js  c++  java
  • TSQL 筛选删除重复记录并保留一条

    以下为,实现此操作的通用T-sql模版:

    /*delete from a FROM       --删除表a (a 是引用的需要删除的表)
    (
     select ROW_NUMBER() over    -- ROW_NUMBER() over 是一个整体  产生一个从一开始的自增列
     (               
      partition by 重复列1, 重复列2, 重复列3   --,重复列n    partition by 跟group by 大同小异  但是并不是聚合函数 是显示所有的记录,包括重复的             
      order by 重复列1, 重复列2, 重复列3   --,重复列n       order by 跟 ROW_NUMBER() over 连用
     ) RowNumber   --RowNumber 给括号里 ROW_NUMBER 返回结果列 的一个别名
     from 表名) a  --a  结果表的别名
    where a.RowNumber > 1  -- 表a 里的RowNumber的值大于1(记录在一条以上的标识重复)*/

    接下来是实现此操作的一段事例代码:

    CREATE DATABASE Test

    go

    USE Test

    go

    CREATE TABLE #Test (  id UNIQUEIDENTIFIER,  NAME NVARCHAR(20),  pwd NVARCHAR(20) )

    INSERT INTO #Test( id, NAME, pwd )VALUES (NEWID(),'zhangsan','zhangsan')

    INSERT INTO #Test( id, NAME, pwd )VALUES (NEWID(),'zhangsan','zhangsan1')

    INSERT INTO #Test( id, NAME, pwd )VALUES (NEWID(),'zhangsan','zhangsan')

    INSERT INTO #Test( id, NAME, pwd )VALUES (NEWID(),'zhangsan','zhangsan')

    INSERT INTO #Test( id, NAME, pwd )VALUES (NEWID(),'lisi','lisi')

    INSERT INTO #Test( id, NAME, pwd )VALUES (NEWID(),'lisi','lisi')

    INSERT INTO #Test( id, NAME, pwd )VALUES (NEWID(),'lisi','lisi1')

    INSERT INTO #Test( id, NAME, pwd )VALUES (NEWID(),'lisi','lisi')

    INSERT INTO #Test( id, NAME, pwd )VALUES (NEWID(),'lisi','lisi')

    SELECT * FROM #Test

    --查询出排除重复记录,保留一条后的结果,以便加以对比测试

    SELECT * from

        (select ROW_NUMBER() over

                   (

                        partition by  name, pwd

                 order by name, pwd

                   ) RowNumber,* from #Test

          ) a where a.RowNumber > 1

    --执行删除操作(删除重复记录,保留一条)

    delete from a  from

        (select ROW_NUMBER() over

                   (

                        partition by  name, pwd

                order by name, pwd

                  ) RowNumber from #Tes

          ) a where a.RowNumber > 1

  • 相关阅读:
    准备改进回复功能
    今天的任务
    日历已加上
    web.config中globalization设置的问题
    Request获取url信息的各种方法比较
    增加了高级评论功能
    如何修改日历的CSS
    推荐有关MasterPages的三篇文章
    如何定制日历控件显示的星期文字
    FreeTextBox的问题终于解决了
  • 原文地址:https://www.cnblogs.com/Shaina/p/2769800.html
Copyright © 2011-2022 走看看