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 ...
 
随机推荐
- Caused by: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。
			
org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接. at org ...
 - Eclipse的tab键为4个空格完整方法   附:阿里代码开发规范书
			
开发规范书:http://pan.baidu.com/s/1dESdyox 1.点击 window->preference-,依次选择 General->Editors->Text ...
 - 业需软需word小技巧
			
首先要看看word格式模板设计规则 一.页面材料格式模板 1. 页边距:上下边距为2.54cm:左右边距为2.8cm 2. 页眉.页脚:页眉为1.5cm:页脚为1.75cm 3. 行间距:20p行距 ...
 - C++类中构造函数调用构造函数问题
			
环境:xp+vs2010问题:在初始化类参数的过程中,可能需要多个重载的构造函数,但是有很多变量初始化代码又是一样的.肯定需要写一次,等待其他构造函数来调用即可.经过调试发现,在classA(int ...
 - SpringMVC的拦截器和数据校验
			
SpringMVC拦截器 什么是拦截器:Spring MVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理.例如通过拦截器可以 ...
 - 入门node.js
			
我们现在要做一个简单的h5应用:包含登录.注册.修改密码.个人中心主页面.个人中心内页修改名称.个人中心修改手机号码. 第一步:工具安装,我选择了能够辅助我们快速开发的light开发工具 1. lig ...
 - 悬线法DP总结
			
悬线法DP总结 问题模型 求满足某种条件(如01交替)的最大矩形(正方形) 思想 先预处理出\(ml[i][j],mr[i][j],mt[i][j]\),分别表示当前位置\((i,j)\)能向左扩展到 ...
 - SB的SDOISB记
			
恩, SDOI考完 考完. day0 : 上车时看myj费劲跨过行李的样子,嘲讽他腿短.很happy 吃饭时和myj吃了羊肉..汤 虽然贵, 但是意外的好吃 继续嘲讽myj不是男人,吃的少 不知怎么的 ...
 - Educational Codeforces Round 68 (Rated for Div. 2)---B
			
http://codeforces.com/contest/1194/problem/B /* */ # include <bits/stdc++.h> using namespace s ...
 - webbench 源代码
			
WebBench源码:https://github.com/EZLippi/WebBench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问 ...