zoukankan      html  css  js  c++  java
  • MSSQL·按照某个字段重复删除旧的一条数据

    阅文时长 | 0.22分钟 字数统计 | 364字符
    主要内容 | 1、引言&背景 2、T-SQL编写 3、声明与参考资料
    『MSSQL·按照某个字段重复删除旧的一条数据』
    编写人 | SCscHero 编写时间 | 2021/7/29 PM11:54
    文章类型 | 系列 完成度 | 已完成
    座右铭 每一个伟大的事业,都有一个微不足道的开始。

    一、引言&背景   完成度:100%

    a) 应对问题

    DB中某张表的数据被插入了两条,将根据字段SN来判断是否重复,若重复则根据字段Time来删除小的那一条。

    b) 问题分析

    需要满足以下两点:

    1. 根据字段SN来判断是否重复。
    2. 重复则根据字段Time来删除小的一条。

    二、T-SQL编写   完成度:100%

    先确认下要删除的条数和内容:

    SELECT * FROM [NeedDeleteTable] [Ori] INNER JOIN (
    SELECT SN,MIN(Time) AS minDate FROM [NeedDeleteTable] GROUP BY SN HAVING COUNT(SN) > 1
    ) minRes ON [Ori].SN = minRes.SN AND Ori.Time = minRes.minDate
    

    再进行删除操作

    DELETE [Ori] FROM [NeedDeleteTable] [Ori] INNER JOIN (
    SELECT SN,MIN(Time) AS minDate FROM [NeedDeleteTable] GROUP BY SN HAVING COUNT(SN) > 1
    ) minRes ON [Ori].SN = minRes.SN AND Ori.Time = minRes.minDate
    
    

    三、声明与参考资料   完成度:100%

    原创博文,未经许可请勿转载。

    如有帮助,欢迎点赞、收藏、关注。如有问题,请评论留言!如需与博主联系的,直接博客私信SCscHero即可。

  • 相关阅读:
    除下草并推荐PhantomJS
    GTAC 2013
    Benchmark感受
    ChinaTest第二天
    "西厂"、"东厂"照片
    谈面试上
    mysql基本常用命令(转)
    java学习笔记数据类型、运算符和控制语句
    java学习笔记第一个applet程序以及一个小问题的解决
    网上阅卷系统自动识别功能代码
  • 原文地址:https://www.cnblogs.com/SCscHero/p/15084176.html
Copyright © 2011-2022 走看看