zoukankan      html  css  js  c++  java
  • 删除表中多余的重复记录(多个字段),只留有rowid最小的记录

    假如表Users,其中ID为自增长.

    ID,Name,Sex

    1 张三,男

    2 张三,男

    3 李四,女

    4 李四,女

    5 王五,男

    --查找出最小行号ID的重复记录

    select Name,Sex,Count(1),Mix(ID)

    into #TempTable

    from Users

    group by Name,Sex

    having Count(1)>1

    --删除重复记录,只保留最小行号的

    Delete from Users

    from Users as A

    inner join #TempTable as B  ON A.Name=B.Name  And A.Sex=B.Sex

    where A. ID<>B.ID

    --注意上面表中ID为自增长,如果User表中没有ID自增长,可以虚拟一个ID自增长列。

    select IDENTITY(INT) as ID,Name,Sex from Users 

  • 相关阅读:
    第十章 泛型程序设计与C++标准模板库 迭代器
    Linux 命令
    Linux 命令
    Linux 命令
    Linux 命令
    Linux 命令
    Linux 命令
    Linux 命令
    Linux 命令
    Linux 命令
  • 原文地址:https://www.cnblogs.com/51net/p/3482969.html
Copyright © 2011-2022 走看看