博客
关于我
SQL练习42:删除emp_no重复的记录,只保留最小的id对应的记录。
阅读量:585 次
发布时间:2019-03-11

本文共 716 字,大约阅读时间需要 2 分钟。

SQL练习42:删除emp_no重复的记录,只保留最小的id对应的记录

ngemp_no重复的记录,只保留最小的id对应的记录。针对这个问题,我可以通过以下步骤来解决:

首先,查看数据库中有哪些emp_no记录是重复出现的。在titles_test表中,我发现:

  • emp_no=10001 出现了两次,分别是 id=1 和 id=5
  • emp_no=10002 出现了两次,分别是 id=2 和 id=6
  • emp_no=10003 出现了两次,分别是 id=3 和 id=7
  • emp_no=10004 出现了一次,id=4

接下来,我需要从中只保留每个emp_no对应的最小的id记录。

为了选择每个emp_no对应的最小的id,我可以使用GROUP BY语句和MIN()函数。具体步骤如下:

  • 首先,使用GROUP BY emp_no,将记录按emp_no分组。
  • 在每个组内,使用MIN(id)函数来获取最小的id。
  • 此外,我需要删除所有不符合上述最小id记录的数据。因此,我使用了 DELETE FROM 关键字,并使用子查询来确定哪些记录需要删除。

    为了确保子查询结果正确,我使用了一个 alias,这样可以避免与原表直接操作带来的问题。具体的实现步骤如下:

  • 选择每个emp_no对应的最小id,并为结果起 alias。例如,t1。
  • 在主查询中,执行删除操作,只删除不包含在t1中的id记录。
  • 通过这种方法,我确保每个emp_no只保留一次最小的id记录。

    最终操作如下:

    请注意,子查询的结果必须正确使用 alias,否则可能导致错误。

    最终,运行删除操作后,titles_test表将只包含每个emp_no对应的最小id记录。

    转载地址:http://bojtz.baihongyu.com/

    你可能感兴趣的文章
    Python 从入门到精通:30天速成教程到底有多狠?你能坚持下来吗?
    查看>>
    Python 从数据库中存储和检索密码的最安全方法
    查看>>
    Python语言及其应用 - 知识点遍历
    查看>>
    Python 优化提速的 8 个小技巧
    查看>>
    Python 余弦相似度与皮尔逊相关系数 计算
    查看>>
    python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
    查看>>
    python 使用filetype校验文件
    查看>>
    Python 使用flush函数将缓冲区数据立即写磁盘
    查看>>
    python 使用in判断不准确,in不好使
    查看>>
    Python 使用pandas 进行查询和统计详解
    查看>>
    Redis 配置文件redis.conf详细解释
    查看>>
    python网络爬虫(2)——scrapy框架的基础使用
    查看>>
    python网络爬虫实例教程试读_Python网络爬虫实战教程(全套完整版) - 学途无忧网 - 做技术的王者 - Powered By EduSoho...
    查看>>
    Python 使用哈希函数用于加密
    查看>>
    Python 依赖管理的革新——Poetry 深度解析
    查看>>
    python 保留精度及增加去除数字的千位分隔符(金额化数字)
    查看>>
    python 倒计时 9,8,7,。。。。。。0
    查看>>
    Python 入门开发学习笔记之数据的增删改查
    查看>>
    Python 入门教程(2)搭建环境 2.4、VSCode配置Node.js运行环境
    查看>>
    Python 八大排序算法合集
    查看>>