sql 删除重复数据
来源:互联网 发布:口罩行业数据 编辑:程序博客网 时间:2024/06/06 08:39
sql 删除重复数据
问题是这样的。今天在一个技术群里,一个群友提了一个问题:
大概是,一张学生表 student,有字段 id (自增), name, 想要删除多余的重复name 的数据,剩下id最小的那条数据。写个sql 删除重复数据,同时要兼顾效率。我问他是什么数据库,他说是面试遇到的一个问题,没说什么数据库,然后我就说写个oracle的给他。
主要是我对其他数据库不熟悉,也不知道是否适用其他数据库。
于是我写了以下sql:
delete from student s where s.id in (select base.id from ( select t.id, row_number() over(partition by t.name order by t.id) tep from student t ) base where base.tep > 1)
解释一下:select t.id, row_number() over(partition by t.name order by t.id) tep from student t
这句是 根据 name 分组,再根据 id排序,获取组内排序的序号或行号。每组排序是独立的,最后这个子查询得到的结果就是 id,name,tep(序号);外层就是查询出行号 大于1 的,肯定就是重复的需要删除的数据了。
0 0
- sql删除重复数据
- sql 删除重复数据
- Sql删除重复数据
- SQL删除重复数据
- sql删除重复数据
- sql删除重复数据
- SQL删除重复数据
- sql删除重复数据
- SQL删除重复数据
- SQL 删除重复数据
- sql删除重复数据
- sql 删除重复数据
- SQL - 删除 重复数据
- 删除重复数据SQL
- SQL删除重复数据
- SQL-删除重复数据
- SQL删除重复数据。
- sql 删除重复数据
- 介绍10 款最好的 Python IDE
- Android控件显示/隐藏时添加动画:ViewSwitcher
- Activity启动过程源码分析
- 在自动驾驶中,单线激光雷达能干什么?
- 解决“只能通过Chrome网上应用商店安装该程序”的方法
- sql 删除重复数据
- tomcat+https协议的接口编写及客户端访问
- MAC 软件下载地址
- Android错误总结
- java中使用String提取字符串中的数字(整数、负数、double)类型小数点数字
- Unity3D游戏开发之“txt配档文件的读取”
- 移动GIS
- 消息队列的适用场景
- hadoop2.7.3集成eclipse遇到的问题及解决方案