sql中去除重复的数据 select distinct * from table
总的思路就是先找出表中重复数据中的一条数据,插入临时表中,删除所有的重复数据,然后再将临时表中的数据插入表中。所以重点是如何找出重复数据中的一条数据,有三种情况
1.重复数据完全一样,使用distinct
select distinct * from table
2.id列不同,id类型为int,自增字段,使用聚合函数max或其他
select * from table where id in(
select MAX(id)
FROM table group by “分组字段”having COUNT(*)>1)
3.id列不同,id类型为uniqueidentifier
(1)使用row_number() over()和partition by给每一组添加行号
Select *,(row_number() Over(partition By ‘分组字段’Order BY ‘排序字段’)) RowNum From
(select * from table where ‘分组字段’in(
select ‘分组字段’ FROM table group by “分组字段”having COUNT(*)>1) t1)
(2)将行号=1的数据插入临时表中
Select * into #A from (‘上面的sql语句’) t2 where t2.RowNum=1
注意:row_number() over()是给行加行号的
partition by用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组,参考http://blog.csdn.net/wuzhengqing1/article/details/8024634
sql中去除重复的数据 select distinct * from table的更多相关文章
- sql中去除重复的项
方法一:group by (取最小的id)select min(id) id,T from Table_1 group by T 方法二:union (不需要id)select T from Tab ...
- iOS中去除重复的数据
本人只用了其中一个功能: 需求:一个已知数组arr,判断一个新字符str是否已经存在于arr中,如果不存在,则存入数组arr中 //去重 if (![arr containsObject:str]) ...
- 用sql删除数据库重复的数据的方法
/***********************************************两个意义上的重复记录:1.是完全重复的记录,也即所有字段均重复的记录,2.是部分关键字段重复的记录, ...
- [LeetCode] Remove Duplicates from Sorted Array 有序数组中去除重复项
Given a sorted array, remove the duplicates in place such that each element appear only once and ret ...
- SQL中使用UPDATE更新数据时一定要记得WHERE子句
我们在使用 SQL 中的 UPDATE 更新数据时,一般都不会更新表中的左右数据,所以我们更新的数据的 SQL 语句中会带有 WHERE 子句,如果没有WHERE子句,就回更新表中所有的数据,在 my ...
- [LeetCode] 26. Remove Duplicates from Sorted Array 有序数组中去除重复项
Given a sorted array nums, remove the duplicates in-place such that each element appear only once an ...
- [LeetCode] 80. Remove Duplicates from Sorted Array II 有序数组中去除重复项 II
Given a sorted array nums, remove the duplicates in-place such that duplicates appeared at most twic ...
- 在scrapy中过滤重复的数据
当为了确保爬到的数据中没有重复的数据的时候,可以实现一个去重的item pipeline 增加构造器方法,在其中初始化用于对与书名的去重的集合 在process_item方法中,先取出item中要判断 ...
- mysql中去除重复字段-distinct
1.注意事项 使用distinct命令时需要放在查询条件的开头,否则会报错.如果需要查询的项目很多但只针对某一个字段使用distinct的,则可以利用内容拼接的方式来实现. --基本查询 SELECT ...
随机推荐
- 分布式调度平台XXL-JOB源码分析-时序图
整体流程 初始化 任务调度 任务执行 任务回调 注册心跳
- 采集新浪新闻php插件
今天没事,就分享一个采集新浪新闻PHP插件接口,可用于火车头采集,比较简单,大家可以研究! 新浪新闻实时动态列表为:https://news.sina.com.cn/roll/?qq-pf-to=pc ...
- keras模块之-优化器(optimizers)--笔记
本笔记由博客园-圆柱模板 博主整理笔记发布,转载需注明,谢谢合作! 优化器是调整每个节点权重的方法,如: model = Sequential() model.add(Dense(64, init=' ...
- 1.什么是spring
spring框架是一个为java应用程序的开发提供了综合,广泛的基础性支持的java开源框架, 使得开发者不用去关心一些冗杂的基础性问题,从而可以更加专注于应用程序的开发. spring框架是一个分层 ...
- LightOJ - 1259 - Goldbach`s Conjecture(整数分解定理)
链接: https://vjudge.net/problem/LightOJ-1259 题意: Goldbach's conjecture is one of the oldest unsolved ...
- PostgreSQL 锁机制浅析
锁机制在 PostgreSQL 里非常重要 (对于其他现代的 RDBMS 也是如此).对于数据库应用程序开发者(特别是那些涉及到高并发代码的程序员),需要对锁非常熟悉.对于某些问题,锁需要被重点关注与 ...
- web 字体 font-family
body { font-family: -apple-system, //针对 Web 页面 BlinkMacSystemFont, //针对 Mac Chrome 页面 SFProDisplay, ...
- mysqldump 原理(转载)
mysqldump 备份过程可以描述为: (1) 先发出一条 flush tables 关闭实例上所有打开的表(2) 创建一个全局锁,FLUSH TABLES WITH READ LOCK获得 db ...
- (尚002)Vue的基本使用
输入端在上面变化的同时,下面的内容也在变 View-->DOM监听-->指令;大括号数据 {{username}} Model-->模型(简单来说就是data,数据供view自动去读 ...
- ASM磁盘组的监控
ASM磁盘组的监控可以使用oracle数据库查询,需要使用到的是sql语句和oracle数据库的相关操作. 还可以使用命令行进行查询,然后用awk进行文本拆分,拿到需要的值.这个需要使用到的是sudo ...