精华内容
下载资源
问答
  • SQL删除重复数据只保留一条

    千次阅读 2020-11-01 00:57:39
    SQL删除重复数据只保留一条 用SQL语句,删除掉重复项只保留一条 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select *...

    SQL删除重复数据只保留一条
    用SQL语句,删除掉重复项只保留一条
    在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢
    1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
    select * from people
    where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)

    2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录
    delete from people
    where peopleName in (select peopleName from people group by peopleName having count(peopleName) > 1)
    and peopleId not in (select min(peopleId) from people group by peopleName having count(peopleName)>1)

    3、查找表中多余的重复记录(多个字段)
    select * from vitae a
    where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)

    4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录
    delete from vitae a
    where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count() > 1)
    and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(
    )>1)

    5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录
    select * from vitae a
    where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count() > 1)
    and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(
    )>1)

    6.消除一个字段的左边的第一位:

    update tableName set [Title]=Right([Title],(len([Title])-1)) where Title like ‘村%’

    7.消除一个字段的右边的第一位:

    update tableName set [Title]=left([Title],(len([Title])-1)) where Title like ‘%村’

    8.假删除表中多余的重复记录(多个字段),不包含rowid最小的记录
    update vitae set ispass=-1
    where peopleId in (select peopleId from vitae group by peopleId

    展开全文
  • SQL去除重复数据

    千次阅读 2017-11-22 14:37:48
    SQL查询中,需要去除重复选项,并且按照时间来进行排序,取排序分组中第一条数据。然后在网上找到了解决方案,使用分析函数row_number() over (partiion by … order by …)来进行分组编号,然后取分组标号值为1的...

    在SQL查询中,需要去除重复选项,并且按照时间来进行排序,取排序分组中第一条数据。

    这里写图片描述

    然后在网上找到了解决方案,使用分析函数row_number() over (partiion by … order by …)来进行分组编号,然后取分组标号值为1的记录即可。目前主流的数据库都有支持分析函数,很好用。

    其中,partition by 是指定按哪些字段进行分组,这些字段值相同#的记录将在一起编号;order by则是指定在同一组中进行编号时是按照怎样的顺序。

    示例(SQL Server 2005或以上适用):

    select  s.[SAPCode]
          ,s.[Specifications]
          ,s.[Material]
          ,s.[UnitPrice]    
    from ( 
        select SAPCode,Specifications,Material, UnitPrice,row_number() over (partition by [SAPCode] order by SAPCode,LastOperateDatetime DESC) as group_idx  
        from [OASystem].[dbo].[SPWMS_SpareParts] 
    ) s
    where s.group_idx = 1) as b
    

    这里写图片描述

    问题瞬间解决!

    展开全文
  • sql查询重复数据

    万次阅读 2018-10-12 10:03:53
    SELECT 重复的字段 FROM 查询的表名 GROUP BY 重复的字段 HAVING COUNT(重复的字段)>1 最后的大于1表示查询大于重复一次得数据

    SELECT 重复的字段 FROM 查询的表名 GROUP BY 重复的字段 HAVING COUNT(重复的字段)>1

    最后的大于1表示查询大于重复一次得数据

    展开全文
  • sql筛选重复数据

    万次阅读 2017-07-12 16:41:36
    1、单个字段去除重复值select distinct '字段名' from '表名'2、如果需求不仅仅是找出某一个字段的唯一值,我们还想查看一下,这个字段拥有重复值的几条数据,进一步分析重复的原因,那就需要用到下面的语句:select...

    1、单个字段去除重复值

    select distinct '字段名' from '表名'

    2、如果需求不仅仅是找出某一个字段的唯一值,我们还想查看一下,这个字段拥有重复值的几条数据,进一步分析重复的原因,那就需要用到下面的语句:

    select code,count(code) 
    from report_detailed 
    group by code 
    having count(code)>1 
    order by count(code) desc 

    这时,就可以看到具体的字段值及其重复次数,如下表所示:

    codecount
    code12
    code25
    code36

    如果想查看code值为code1的明细,只需要输入具体值查找就可以了:

    select * 
    from report_detailed
    where code = 'code1'

    3、通过查看数据发现,虽然code相同,但是其修改时间不同,可能是生成一条记录后,对记录进行修改,生成了一条新的记录,但之前的并没有删除。于是,我们希望保留修改时间为最新的一条。

    select code,time,px
    from ( 
    select code,time, 
    row_number() over(partition by code order by time desc) px 
    from report_detailed 
    ) 
    where px=1
    展开全文
  • sql 显示重复数据 去重复 distinct

    千次阅读 2019-07-12 13:01:57
    sql 显示重复数据 select id from A where id in (select id from A group by id having count(1) >=2) ---- select id,count(1) 重复次数 from A group by id having count(1)>1; 查询出来的结果都是id...
  • SQL查询重复数据出现的次数

    千次阅读 2020-05-19 14:50:18
    /** * 查询重复数据; * 以下图为例:KEYS-001的数据在数据表中重复出现了两次; */ SELECT KEYS , COUNT(1) FROM [TLADDING] GROUP BY [KEYS] HAVING COUNT([KEYS]) > 1
  • **#例1:根据手机号customer_id查询所有重复数据** SELECT * FROM aad_apply_main WHERE customer_id IN ( SELECT customer_id FROM aad_apply_main GROUP BY ...
  • SQL 删除重复数据,只保留一行

    万次阅读 2018-08-09 16:42:20
    sql的使用中,我们总是碰到需要删除重复数据的情况,但是又不能全部删除完,必须要保留至少一个重复的数据。重复的记录根据两个字段uid, qid判断(实际使用中可以拓展为多个)。 例如: id uid qid 1 1...
  • SQL 查询重复数据,多字段联合重复

    千次阅读 2019-06-01 09:47:40
    SELECT * FROM pagelist a WHERE ((SELECT COUNT(*) FROM pagelist WHERE ntitle = a.ntitle) >...--查询重复数据 Delete from pagelist Where ID Not In (Select Max(ID) From pagelist Gr...
  • SQL筛选重复数据

    千次阅读 2016-12-19 10:22:55
    在《SQL去除重复数据》一文中我们讲了如何去除重复数据,在工作中我们有时还需要筛选重复的数据,进行进一步比对。如下表,我们要筛选出“姓名”相同的数据。 id name score 1 小王 51 2 小魏 61 3 小张 ...
  • sqlserver查询去掉重复数据

    千次阅读 2020-08-20 11:42:43
    说明:只要数据表“列名”数据相同,则说明是两条重复数据(ID为数据表的主键自动增长)。推荐使用方法一。 -- 方法一 select * from 表名 A where not exists(select 1 from 表名 where 列名=A.列名 and ID<...
  • ![图片说明](https://img-ask.csdn.net/upload/201803/19/1521431726_363194.jpg)
  • sql查询重复数据只取最新得一条

    千次阅读 2020-08-11 22:57:19
    SELECT * FROM table WHERE id IN ( select max(id) from ...先找出重复数据的 最大的Id ( group by 后面可跟多列, 根据规则找到重复数据), 取出 id 最大或最小的 Id, 然后使用 in查询,就可以得到不重复的数据。 ...
  • sql重复数据只取一条记录

    千次阅读 2020-12-10 17:08:00
    1、SQLSELECT DISTINCT 语句 在表中,可能会包含重复值。这并不成问题,不过,仅仅列出不同(distinct)的值。 关键词 DISTINCT 用于返回唯一不同的值。 语法: SELECT DISTINCT 列名称 FROM 表名称 使用 DISTINCT ...
  • 1.在select后面加 distinct 可以过滤重复数据, 点评:在海量数据下效率低 2.利用group by ,把查询到的字段都放在group by后面,点评:效率比distinct高,使用也比distinct麻烦点!sql语句: select name from ...
  • 删除重复数据重复数据只保留ID最小的行 DELETE FROM t_customer_comment WHERE id IN ( SELECT * FROM ( SELECT id FROM t_customer_comment WHERE remaintain_order_id...
  • SQL查询重复语句,删除重复数据

    千次阅读 2018-07-16 11:55:26
    原创地址https://www.cnblogs.com/lanliying/p/5695349.html(不知道原创在哪 我是在他这里找的)在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢1、查找表中多余的重复记录,重复记录是根据单个...
  • SELECT F_Name,count(F_Name) FROM `t_business_person` where F_Lib_ID=000001 GROUP BY F_Name HAVING COUNT(F_Name)&gt;1 ORDER BY COUNT(F_Name);
  • 大家首先会想到:distinct。有如下数据表A: id title grief 1 标题1 简介1 2 标题2 简介2 3 标题1 简介3 4 标题
  • SQL查询某一字段重复数据

    千次阅读 2020-01-04 14:50:27
    人工智能,零基础入门!http://www.captainbed.net/inner SQL查询某一字段重复数据: SELECT user_id FROM user_info GROUP BYuser_id HAVING COUNT(user_id) > 1;
  • a和b列颠倒后,去除重复数据后效果 select 'a' a, 'b' b, 120 data1, 130 data2 from dual union all select 'b' a, 'a' b, 11 data1, 180 data2 from dual union all select 'b' a, 'a' b, 123 data1, 148 data2 ...
  • 假定一个表里有各种各样的花式重复数据、 在sqlserver中如何去重是一个问题、 如果在oracle 中、存在隐藏列rowid 我们可以这样 select * from tab1 where rowid in ( select min(rowid) from tab1 group by ...
  • sql重复数据的第一条记录

    万次阅读 2017-10-10 11:06:20
    使用分析函数row_number() over (partiion by ... order by ...)来进行分组编号,然后取分组标号值为1的记录即可。目前主流的数据库都有支持分析函数,很好用。 其中,partition by 是指定按哪些...示例(SQL Serve
  • 最近在项目中有这么一个需求,需要从用户提交多条意见中筛选出最近一条数据。因此打算将该语句记录一下。 表结构如下: 普通查询语句: SELECT * FROM T_Dat_OpinionCollection 结果如下: 查询sql:...
  • sql中去除重复数据

    千次阅读 2019-03-26 09:48:26
    总的思路就是先找出表中重复数据中的一条数据,插入临时表中,删除所有的重复数据,然后再将临时表中的数据插入表中。所以重点是如何找出重复数据中的一条数据,有三种情况 1.重复数据完全一样,使用distinct ...
  • SQL去除重复数据(count函数的用法)

    万次阅读 2017-08-09 09:22:40
    (一)核心:采用分组的概念group by,利用count()函数统计每组的行数,如果行数大于1表示有多条重复数据,如果只有一行,则两个表中没有相同数据匹配,为多余的不同数据,就可以通过设置条件having count(列)&...
  • 如何利用sql查找表中的重复数据

    千次阅读 2019-11-04 14:29:20
    编写一个SQL查询,查找学生表中所有重复的学生名; 分析思路 1.看到“找重复”的关键字眼,首先要用分组函数(group by),再用聚合函数中的计数函数count()给姓名列计数。 2. 分组汇总后,生成了一个如下的表。...
  • SQL删除重复数据,保留ID最大的一条

    千次阅读 2018-10-24 14:40:21
    在数据库中可能会存在重复数据,需要删除并且保留其中一条 ,这里我们保留其中id最大的一条 DELETE FROM T_Dat_BankData WHERE BankCode IN ( SELECT BankCode FROM T_Dat_BankData GROUP BY BankCode HAVING ...
  • sql语句如何去除重复数据

    万次阅读 2018-10-18 16:07:44
    重复数据主要有一下几种情况: 1.存在两条完全相同的纪录 这是最简单的一种情况,用关键字distinct就可以去掉 example: select distinct * from table(表名) where (条件) 2.存在部分字段相同的纪录(有主键id即...
  • SQL SERVER 利用ROW_NUMBER 删除重复数据

    万次阅读 2018-04-19 08:36:27
    分享一个小知识点,论坛里也常有人问这种问题,表中数据除了ID不同,其他数据一样,然后保存ID最大(或者最小)值,测试数据:--测试数据 if not object_id(N'Tempdb..#T') is null drop table #T Go Create table ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 448,488
精华内容 179,395
关键字:

sql选择重复的数据