zoukankan      html  css  js  c++  java
  • SQL重复记录处理(查找,过滤,删除)

     HZT表结构

    ID int

    Title nvarchar(50)

    AddDate datetime

    数据

    ID Title AddDate 
    1 台州站长论坛1 2008-01-17 10:27:24.827 
    2 台州站长论坛1 2008-03-17 10:27:21.780 
    3 台州站长论坛2 2008-05-17 10:27:30.420 
    4 台州站长论坛2 2008-09-17 10:27:30.420 
    5 台州站长论坛3 2008-01-20 10:27:30.420 
    6 台州站长论坛3 2008-01-15 10:27:30.420 
    7 QQ:147526645 2008-01-19 10:27:30.420 
    8 QQ:147526645 2008-01-18 10:27:30.420 
    9 Email:hztgcl1986@163.com 2001-01-17 10:27:30.420 
    10 Email:hztgcl1986@163.com 2009-01-17 10:27:30.420 
    11 HZT 2005-01-17 10:27:30.420 
    12 1314521 2006-01-17 10:27:30.420 
    13 LoveCY 2007-01-17 10:27:30.420 
    14 19861108 2008-03-17 10:27:30.420 
    15 CY 2008-02-17 10:27:30.420 

    一。查找重复记录

    1。查找全部重复记录

    Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)

    2。过滤重复记录(只显示一条)

    Select * From HZT Where ID In (Select Max(ID) From HZT Group By Title)

    注:此处显示ID最大一条记录

    二。删除重复记录 


    1。删除全部重复记录(慎用) 
    Delete 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)

    2。保留一条(这个应该是大多数人所需要的 ^_^)

    Delete HZT Where ID Not In (Select Max(ID) From HZT Group By Title)

    注:此处保留ID最大一条记录

  • 相关阅读:
    erlang 大神
    Mysql5.7全新的root密码规则
    单机多实例
    mysql 5.7源码安装
    MySQL审计功能
    MySQL升5.6引发的问题
    一千行MySQL学习笔记
    MySQL5.6新特性之GTID、多线程复制
    正确修改MySQL最大连接数的三种好用方案
    MYSQL 慢日志
  • 原文地址:https://www.cnblogs.com/ArRan/p/2746218.html
Copyright © 2011-2022 走看看