sql 去除重复记录】的更多相关文章

SQL去除重复记录 if not object_id('Tempdb..#T') is null     drop table #T Go Create table #T([ID] int,[Name] nvarchar(1),[Memo] nvarchar(2)) Insert #T select 1,N'A',N'A1' union all select 2,N'A',N'A2' union all select 3,N'A',N'A3' union all select 4,N'B',N'…
1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select   peopleId from   people group by   peopleId having count(peopleId) > 1)2.删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录delete from people where peopleId in (sele…
第一步:查询重复记录   SELECT * FROM TableName   WHERE RepeatFiled IN (   SELECT RepeatFiled   FROM TableName   GROUP BY RepeatFiled   HAVING COUNT(RepeatFiled) > 1   ) 这一段逻辑很简单,就是把重复条数大于1的全部都搞出来就行了. 第二步:删除重复记录,只保留一条   SELECT * FROM TableName   WHERE RepeatFil…
top关键字:写在select后面 字段的前面 比如你要显示查询的前5条记录,如下所示: select top 5 * from Student 一般情况下,top是和order by连用的 order by用在表名的后面 order by后面就填你要按它排序的字段,是升序排序(从小到大排序) percent:百分比 %=percent 比如要显示5%的数据处理,不能写top 5%,而是top 5 percent 提示:如果top 5 percent出来的数是3.1条数据的话,是取四条数据,而不…
应用中常会有需要去除重复的记录,或者获取某些最新记录(如:每个用户可以答题多次,每次答题时间不同,现在要获取所有用户的最新答题记录,即每个用户取最新的一条) 使用group 和max 即可实现上述功能. 1.去除重复记录,需要条件为有一列值为不同(如id不同)eg:去除用户表信息,users 表具有字段: id ,username ,password如果username相同则视为相同记录,应去除重复保留一条.那么我们可以按照 username 分组,然后获取max (id),然后删除不在max(…
转自芙蓉清秀的BLOG http://blog.sina.com.cn/liurongxiu1211  sql去除重复语句 (2012-06-15 15:00:01) sql 单表/多表查询去除重复记录 单表distinct 多表group by group by 必须放在 order by 和 limit之前,不然会报错 ************************************************************************************ 1.…
--处理表重复记录(查询和删除) /****************************************************************************************************************************************************** 1.Num.Name相同的重复值记录,没有大小关系只保留一条 2.Name相同,ID有大小关系时,保留大或小其中一个记录 ********************…
单表distinct 多表group by group by 必须放在 order by 和 limit之前,不然会报错 ************************************************************************************ 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from peop…
单表distinct 多表group by group by 必须放在 order by 和 limit之前,不然会报错 下面先来看看例子: table   id name   1 a   2 b   3 c   4 c   5 b 库结构大概这样,这只是一个简单的例子,实际情况会复杂得多. 比如我想用一条语句查询得到name不重复的所有数据,那就必须使用distinct去掉多余的重复记录. select distinct name from table得到的结果是: name   a   b …
SQL:删除重复数据,只保留一条用SQL语句,删除掉重复项只保留一条在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 ) 2.删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录 ) ) 3.查找表中多余的重复记录(多个字段) ) 4.删除表中多余的重复记录(多个字段),只留有rowid最小的记录 ) ) 5.查找表中多余的重复记录(多个字段),不包…
假设现有一张人员表(表名:Person),若想将姓名.身份证号.住址这三个字段完全相同的记录查找出来,使用 1: SELECT p1.* 2: FROM persons p1,persons p2 3: WHERE p1.id<>p2.id 4: AND p1.cardid = p2.cardid 5: AND p1.pname = p2.pname 6: AND p1.address = p2.address 可以实现该功能. 删除重复记录的SQL语句 1.用rowid方法 2.用group…
情景: 我们的数据库中可能会存在很多因各种原因而重复的记录,我们需要对这些重复的记录进行删除,每组组重复的记录只保留一条就行 例如我们有这么个表:两个框框都是有重复记录的,红框和绿框都只需要留下一条,其他的都干掉. 前提: 1:每天记录都要有一个唯一id 2:每组重复的记录要有字段能进行分组,例如上面我们按name.class.age.score相同的就是一组. 数据宝贵,请先备份!!! 数据宝贵,请先备份!!! 数据宝贵,请先备份!!! 放上整条SQL: DELETE FROM "t_hw_t…
查找所有重复标题的记录:SELECT *FROM t_info aWHERE ((SELECT COUNT(*)FROM t_infoWHERE Title = a.Title) > 1)ORDER BY Title DESC一.查找重复记录1.查找全部重复记录Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)2.过滤重复记录(只显示一条)Select * From HZT Whe…
查找所有重复标题的记录:SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Title = a.Title) > 1) ORDER BY Title DESC一.查找重复记录1.查找全部重复记录Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)2.过滤重复记录(只显示一条)Select * From HZ…
1.存在两条完全相同的纪录   这是最简单的一种情况,用关键字distinct就可以去掉   例子: select distinct * from table(表名) where (条件)   2.存在部分字段相同的纪录(有主键id即唯一键)   如果是这种情况的话用distinct是过滤不了的,这就要用到主键id的唯一性特点及group by分组   例子:select * from table where id in (select max(id) from table group by […
1.查找重复记录: (按id查找) select * from user_info where id in ( select id from user_info group by id ) 即:select * from user_info where id in(select id from user_info group by id having count(id)>1) 2.删除重复记录: 不保留重复记录,只需把上面的select * from 改成 delete from 就可以了. 保…
CREATE TABLE product( ID INT IDENTITY(1,1) PRIMARY KEY NOT NULL, Pid INT NOT NULL, Pname VARCHAR(50) NOT NULL, Punit CHAR(10) NOT NULL, Pspec VARCHAR(50), PbarCode VARCHAR(20),) INSERT INTO product(Pid,Pname,Punit,Pspec,PbarCode) VALUES(10000,'欧莱雅日间修…
例1,表中有主键(可唯一标识的字段),且该字段为数字类型 1 测试数据 /* 表结构 */ DROP TABLE IF EXISTS `t1`; CREATE TABLE IF NOT EXISTS `t1`( `id` ) NOT NULL AUTO_INCREMENT, `name` ) NOT NULL, `) NOT NULL, PRIMARY KEY(`id`) )Engine=InnoDB; /* 插入测试数据 */ INSERT INTO `t1`(`name`,`add`) VA…
--查找表中多余的重复记录select * from code_xz where code in (select code from code_xz group by code having count(1)>1) --删除表中多余的重复记录,只留有pk_uid最小的记录delete from code_xz where code in (select code from code_xz group by code having count(code) > 1) and pk_uid not…
原表(aa): id   a                      b 1    22                    456 2    22                    256 3    22                    268 4    23                    236 5    23                    358 要求查询 a字段重复记录取对应b中最小值 要显示结果: 22                    256 23 …
SELECT * FROM JBL_WebLog WHERE JBL_WebLog_PID IN ( --根据userName分类获取数据最小ID列表 SELECT MIN(JBL_WebLog_PID) FROM JBL_WebLog GROUP BY UserName ); 上面是数据库自增长的ID,但是有很多重复的对象数据,现在只需要看每个状态的一条数据 比如账户aasaas登录很多次,但是现在我只想知道他是不是登陆过,所以只要取出来多次登录中的一次就行了 下面是  查询记录中只有一条的数…
所以用这样一句SQL就可以去掉重复项了: select * from msg group by terminal_id; SQL中distinct的用法(四种示例分析) 示例1 select distinct name from A 执行后结果如下: 示例2 select distinct name, id from A 执行后结果如下: 实际上是根据"name+id"来去重,distinct同时作用在了name和id上,这种方式Access和SQL Server同时支持. 示例3:统…
select name from (SELECT name,count(name) as countFROM Table WHERE (OrgUUId = (select top 1 uuid from  org where orgname='xx') ) AND (IsDeleted = 0) group by namehaving count(name)>1 --order by count desc ) as a     /*from后跟子查询必须取别名*/…
DELETE E FROM t E where E.id> ( SELECT MIN(X.id) FROM t X WHERE X.name = E.name );…
http://m.jb51.net/article/39302.htm 可以这样去理解group by和聚合函数 http://www.cnblogs.com/wuguanglei/p/4229938.html 聚合函数,聚合函数就用来输入多个数据,输出一个数据的 select ··· from ···where ···(只能对分组前的属性进行筛选)group by ···having ···(只能对分组后的每个组的整体属性进行筛选,用聚合函数体现)····--不使用group by就默认表的整…
用下面的语句就报语法出错: delete from tab_record where recordid not in (select  min(c.recordid) as recordid from  tab_record  c group by (c.dev_Id+c.StartTime+c.EndTime+c.CardNum)); 报错如下:You can't specify target table '表名' for update in FROM clause 找到替代方案,改用下面的,…
原文发布时间为:2010-08-09 -- 来源于本人的百度文章 [由搬家工具导入] 查找所有重复标题的记录: SELECT *FROM t_info aWHERE ((SELECT COUNT(*)FROM t_infoWHERE Title = a.Title) > 1)ORDER BY Title DESC 一。查找重复记录 1。查找全部重复记录 Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having C…
DELETE FROM py_bond_shenzhen_exchange_opinion_2_1 WHERE id NOT IN (SELECT id FROM (SELECT min(id) AS id FROM py_bond_shenzhen_exchange_opinion_2_1 GROUP BY notice_date, notice_title) temp)…
本文介绍了Sql Server数据库中删除数据表中重复记录的方法. [项目]数据库中users表,包含u_name,u_pwd两个字段,其中u_name存在重复项,现在要实现把重复的项删除![分析]1.生成一张临时表new_users,表结构与users表一样:2.对users表按id做一个循环,每从users表中读出一个条记录,判断new_users中是否存在有相同的u_name,如果没有,则把它插入新表:如果已经有了相同的项,则忽略此条记录:3.把users表改为其它的名称,把new_use…
如下: DELETE FROM categories a WHERE ( a.id, a.name, a.parent_id ) ) ) 关键点:oracle中有内部id为rowid, 在postgresql中有ctid. 参照:oracle rowid and postgresql ctid 参照:SQL 删除重复记录,并保留其中一条…