精华内容
下载资源
问答
  • -- 按字段IP查询 select * from table1 where id in -- 检索重复ip的纪录 (select min(id) from table1 where ip in -- 求重复ip的其中一个id (select ip from table1 group by ip having count(1) >= 1) -- 取出...

    create table table1 (id int, ip varchar(15), city char(20));

    insert into table1 values(1, '127.0.0.1', '深圳') ;

    insert into table1 values(2, '127.0.0.2', '广州') ;

    insert into table1 values(3, '127.0.0.2', '广州') ;

    insert into table1 values(4, '127.0.0.2', '广州') ;

    insert into table1 values(5, '127.0.0.2', '北京') ;

    insert into table1 values(6, '127.0.0.4', '上海') ;

    insert into table1 values(7, '127.0.0.4', '上海') ;

    insert into table1 values(8, '127.0.0.4', '上海') ;

    insert into table1 values(9, '127.0.0.7', '未知');

    -- 按字段IP查询

    select * from table1 where id in

    -- 检索重复ip的纪录

    (select min(id) from table1 where ip in

    -- 求重复ip的其中一个id

    (select ip from table1 group by ip having count(1) >= 1)

    -- 取出重复的

    ip group by ip ) ;

    返回结果:

    11127.0.0.1 深圳

    22127.0.0.2 广州

    36127.0.0.4 上海

    49127.0.0.7 未知

    create table table2 (id int, ip varchar(15), city char(20));

    insert into table2 values( 1, '127.0.0.1', '深圳') ;

    insert into table2 values( 2, '127.0.0.2', '广州') ;

    insert into table2 values( 3, '127.0.0.2', '广州') ;

    insert into table2 values( 4, '127.0.0.3', '北京') ;

    insert into table2 values( 5, '127.0.0.3', '北京') ;

    insert into table2 values( 6, '127.0.0.4', '上海') ;

    insert into table2 values( 7, '127.0.0.4', '上海') ;

    insert into table2 values( 8, '127.0.0.4', '上海') ;

    insert into table2 values( 9, '127.0.0.7', '未知');

    -- 按字段city查询

    select * from table1 where id in

    -- 检索重复city的纪录

    (select min(id) from table1 where city in

    -- 求重复city的其中一个id

    (select city from table1 group by city having count(1) >= 1)

    -- 取出重复的city

    group by city );

    返回结果:

    11127.0.0.1 深圳

    22127.0.0.2 广州

    34127.0.0.3 北京

    46127.0.0.4 上海

    59127.0.0.7 未知

    展开全文
  • 解决sql过滤重复数据记录的方法(Oracle)分别创建了两个临时表,并按不同的字段作查询示例:[java]create table table1 (id int, ip varchar(15), city char(20));www.2cto.cominsert into table1 values(1, ...

    解决sql过滤重复数据记录的方法(Oracle)

    分别创建了两个临时表,并按不同的字段作查询示例:

    [java]

    create table table1 (id int, ip varchar(15), city char(20));

    www.2cto.com

    insert into table1  values(1, ‘127.0.0.1’, ‘深圳’) ;

    insert into table1  values(2, ‘127.0.0.2’, ‘广州’) ;

    insert into table1  values(3, ‘127.0.0.2’, ‘广州’) ;

    insert into table1  values(4, ‘127.0.0.2’, ‘广州’) ;

    insert into table1  values(5, ‘127.0.0.2’, ‘北京’) ;

    insert into table1  values(6, ‘127.0.0.4’, ‘上海’) ;

    insert into table1  values(7, ‘127.0.0.4’, ‘上海’) ;

    insert into table1  values(8, ‘127.0.0.4’, ‘上海’) ;

    insert into table1  values(9, ‘127.0.0.7’, ‘未知’);

    — 按字段IP查询

    select * from table1 where id in

    — 检索重复ip的纪录   www.2cto.com

    (select min(id) from table1 where ip in

    — 求重复ip的其中一个id

    (select ip from table1 group by ip having count(1) >= 1)

    — 取出重复的

    ip group by ip ) ;

    返回结果:

    [java]

    1   1   127.0.0.1          深圳

    2   2   127.0.0.2          广州

    3   6   127.0.0.4            上海

    4   9   127.0.0.7            未知

    [java]

    create table table2 (id int, ip varchar(15), city char(20));

    insert into table2 values( 1, ‘127.0.0.1’, ‘深圳’) ;

    insert into table2 values( 2, ‘127.0.0.2’, ‘广州’) ;

    insert into table2 values( 3, ‘127.0.0.2’, ‘广州’) ;

    insert into table2 values( 4, ‘127.0.0.3’, ‘北京’) ;

    insert into table2 values( 5, ‘127.0.0.3’, ‘北京’) ;

    insert into table2 values( 6, ‘127.0.0.4’, ‘上海’) ;

    insert into table2 values( 7, ‘127.0.0.4’, ‘上海’) ;

    insert into table2 values( 8, ‘127.0.0.4’, ‘上海’) ;

    insert into table2 values( 9, ‘127.0.0.7’, ‘未知’);

    [java]

    — 按字段city查询

    select * from table1 where id in

    — 检索重复city的纪录

    (select min(id) from table1 where city in

    — 求重复city的其中一个id

    (select city from table1 group by city having count(1) >= 1)

    — 取出重复的city     www.2cto.com

    group by city );

    返回结果:

    [java]

    1   1   127.0.0.1         深圳

    2   2   127.0.0.2            广州

    3   4   127.0.0.3            北京

    4   6   127.0.0.4            上海

    5   9   127.0.0.7         未知

    展开全文
  • 情况一:表中存在完全重复的的数据,即所有字段内容都是相同的 create table # (用户ID int, 姓名 varchar(10), 年龄 int ) insert into # select 111, '张三', 26 union all select 222, '李四', 25 union all ...

    情况一:表中存在完全重复的的数据,即所有字段内容都是相同的 create table # (用户ID int, 姓名 varchar(10), 年龄 int ) insert into # select 111, '张三', 26 union all select 222, '李四', 25 union all select 333, '王五', 30 union all select 111

    情况一:表中存在完全重复的的数据,,即所有字段内容都是相同的

    create table #

    (用户ID int, 姓名 varchar(10), 年龄 int )

    insert into #

    select 111, '张三', 26 union all

    select 222, '李四', 25 union all

    select 333, '王五', 30 union all

    select 111, '张三', 26

    方法: select distinct * from #

    情况2:表中存在部分数据重复的字段,即 重复数据中至少有一个字段不重复create table #(用户ID int, 姓名 varchar(10), 年龄 int, 日期 DateTime )insert into #select 111, '张三', 26 2010-02-23 union allselect 222, '李四', 25 2010-03-13 union allselect 333, '王五', 30 2011-03-25 union allselect 111, '张三', 26 2011-07-07方法:--当两条重,取日期大的一条

    select * from t a

    where not exists (select 1 from t where a.用户ID=用户ID a.姓名=姓名 and 日期>a.日期)

    f68f2add0b68e4f9810432fce46917b7.png

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!

    展开全文
  • MySQL使用DISTINCT过滤重复数据

    千次阅读 2021-01-21 01:40:00
    在 MySQL 中使用 SELECT 语句执行简单的数据查询时,返回...DISTINCT关键字的主要作用就是对数据表中一个或多个字段重复数据进行过滤,只返回其中的一条数据给用户。DISTINCT 关键字的语法格式为:SELECT DISTINC...

    在 MySQL 中使用 SELECT 语句执行简单的数据查询时,返回的是所有匹配的记录。如果表中的某些字段没有唯一性约束,那么这些字段就可能存在重复值。为了实现查询不重复的数据,MySQL 提供了 DISTINCT 关键字。

    DISTINCT 关键字的主要作用就是对数据表中一个或多个字段重复的数据进行过滤,只返回其中的一条数据给用户。

    DISTINCT 关键字的语法格式为:

    SELECT DISTINCT FROM ;

    其中,“字段名”为需要消除重复记录的字段名称,多个字段时用逗号隔开。

    使用 DISTINCT 关键字时需要注意以下几点:

    DISTINCT 关键字只能在 SELECT 语句中使用。

    在对一个或多个字段去重时,DISTINCT 关键字必须在所有字段的最前面。

    如果 DISTINCT 关键字后有多个字段,则会对多个字段进行组合去重,也就是说,只有多个字段组合起来完全是一样的情况下才会被去重。

    例 1

    下面通过一个具体的实例来说明如何实现查询不重复数据。

    test 数据库中 student 表的表结构和数据如下所示:

    mysql> SELECT * FROM test.student;

    +----+----------+------+-------+

    | id | name | age | stuno |

    +----+----------+------+-------+

    | 1 | zhangsan | 18 | 23 |

    | 2 | lisi | 19 | 24 |

    | 3 | wangwu | 18 | 25 |

    | 4 | zhaoliu | 18 | 26 |

    | 5 | zhangsan | 18 | 27 |

    | 6 | wangwu | 20 | 28 |

    +----+----------+------+-------+

    6 rows in set (0.00 sec)

    结果显示,student 表中存在 6 条记录。

    下面对 student 表的 age 字段进行去重,SQL 语句和运行结果如下:

    mysql> SELECT DISTINCT age FROM student;

    +------+

    | age |

    +------+

    | 18 |

    | 19 |

    | 20 |

    +------+

    3 rows in set (0.00 sec)

    对 student 表的 name 和 age 字段进行去重,SQL 语句和运行结果如下:

    mysql> SELECT DISTINCT name,age FROM student;

    +----------+------+

    | name | age |

    +----------+------+

    | zhangsan | 18 |

    | lisi | 19 |

    | wangwu | 18 |

    | zhaoliu | 18 |

    | wangwu | 20 |

    +----------+------+

    5 rows in set (0.00 sec)

    对 student 表中的所有字段进行去重,SQL 语句和运行结果如下:

    mysql> SELECT DISTINCT * FROM student;

    +----+----------+------+-------+

    | id | name | age | stuno |

    +----+----------+------+-------+

    | 1 | zhangsan | 18 | 23 |

    | 2 | lisi | 19 | 24 |

    | 3 | wangwu | 18 | 25 |

    | 4 | zhaoliu | 18 | 26 |

    | 5 | zhangsan | 18 | 27 |

    | 6 | wangwu | 20 | 28 |

    +----+----------+------+-------+

    6 rows in set (0.00 sec)

    因为 DISTINCT 只能返回它的目标字段,而无法返回其它字段,所以在实际情况中,我们经常使用 DISTINCT 关键字来返回不重复字段的条数。

    查询 student 表中对 name 和 age 字段去重之后记录的条数,SQL 语句和运行结果如下:

    mysql> SELECT COUNT(DISTINCT name,age) FROM student;

    +--------------------------+

    | COUNT(DISTINCT name,age) |

    +--------------------------+

    | 5 |

    +--------------------------+

    1 row in set (0.01 sec)

    结果显示,student 表中对 name 和 age 字段去重之后有 5 条记录。

    展开全文
  • 应用场景:执行存储将表2的数据插入到表1,避免数据重复插入 CHECKSUM 函数 是对指定表的列(1列或多列均可,字段顺序要一致)进行计算返回一个称为校验和的哈希值。 如果有任一列是非可比数据类型,则 CHECKSUM.
  • 最近在项目中有这么一个需求,需要从用户提交多条意见中筛选出最近一条数据。因此打算将该语句记录一下。 表结构如下: 普通查询语句: SELECT * FROM T_Dat_OpinionCollection 结果如下: 查询sql:...
  • sql UNION过滤重复记录语句并取得不重复的数据$sql ="UNION ALL->UNION----------------------以下句子如何取得不重复的数据?SELECT DISTINCT TOP 100 PERCENT kirinLDS.dbo.tbl人员调整.部门名 AS 部门名FROM .....
  • 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from people ...
  • 对数据库某些意外情况,引起的重复数据,如何处理呢?----------------查重复:select *from satisfaction_survey swhere s.as_side = 0and s.project_no in (select ss.project_nofrom satisfaction_survey sswhere...
  • MySQL 处理重复数据有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据。本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复...
  • 去除重复值需要一个关键字:distinct ,下面介绍一下它的用法。 语法:select distinct 列名,... from 表名 注:表中有六条数据,id列为自增。 全部数据如下: distinct 关键字可配合“*” 或者 单个/多个列 ...
  • sql语句查询重复数据

    千次阅读 2021-05-19 09:50:15
    查找所有重复标题的记录: SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Title = a.Title) > 1) ORDER BY Title DESC 一。查找重复记录 ...过滤重复记录(只显示一条) Select * Fr
  • 今天,确切的讲应该是昨天下午,研发的同事突然向我寻求SQL技术支援。看看他的问题,比较麻烦些。select sbl.fee_terminal_id , sbl.status, smr.status, smr.report_timefrom XXX_log sbl, XXX_report smrwhere sbl...
  • 【实例简介】【实例截图】【核心代码】--查询重复数据方法一select COUNT(*) from HB_BORROWER_INFORMATION awhere (a.APPLICATION_CODE) in (select APPLICATION_CODE from HB_BORROWER_INFORMATION group by ...
  • sqlserver查询去掉重复数据的实现

    千次阅读 2021-01-17 04:54:30
    说明:只要数据表“列名”数据相同,则说明是两条重复数据(ID为数据表的主键自动增长)。推荐使用方法一-- 方法一select * from 表名 A where not exists(select 1 from 表名 where 列名=A.列名 and ID补充:SQL ...
  • MySQL查询表中重复数据,比如现在需要查询出表中条码重复的记录,SQL如下:SELECT GUIDE_BARCODE FROM checker_barcodeGROUP BY GUIDE_BARCODE HAVING COUNT(GUIDE_BARCODE) >1现在查询重复的数据的sql是出来了,...
  • 前言: having子句只用在分组查询(group by)条件下,用作分组查询结果的条件过滤 去除重复数据,只保留一条重复的数据 DELETE FROM `user` WHERE name IN ( SELECT name FROM ( SELECT name FROM
  • 利用 distinct 关键字过滤重复的行,将查询的结果写入临时表` select distinct * into #temp from mytable 备份原表 select * into mytable_Back from mytable 删除原表 delete mytable 将临时表插入到表中...
  • 原答案:专 sql server环境属下: select ID,SN,CreateDate,dayUse from ( select ID,SN,CreateDate,dayUse, row_number() over(partition by SN,CreateDate order by dayUse desc) as RowNum from ...
  • 2.查询表中重复数据 Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1) sql语句: Select * From xl Where xscp In (Select xscp From xl Group
  • SQL查询去掉重复数据

    千次阅读 2021-01-26 07:21:01
    本文主要总结数据库去掉重复数据的方法去掉重复数据的方法:第一种:distinct根据单个字段去重,能精确去重;作用在多个字段时,只有当这几个字段的完全相同时,才能去重;关键字distinct只能放在SQL语句中的第一个...
  • 1、查询(字段1, 字段2, 字段3)全部重复相同的数据 ...2、过滤(字段1, 字段2, 字段3)全部重复相同的数据,只显示一条(id最小或最大等)数据 注:(1)包含原本不重复数据(建议使用) SELECT * FROM 表 WHE.
  • 一个过滤重复数据SQL 语句数据如下:303 标准类别 TR_STANDARD_MANAGER107 巡视记录类别 TR_PATROL_LOG61 巡视记录类别 TR_PATROL_LOG221 检修类型 TR_REPAIR_LOG121 检修管理计划类别 TR_REPAIR_PLAN141 检修...
  • 一、单列重复 一,带有having条件的分组查询方法 (1)查询某一列重复记录 语句: SELECT Name FROM dbo.Member t WHERE Name IN (SELECT Name FROM dbo.Member GROUP BY Name HAVING COUNT(Name)>1 ) ORDER ...
  • 在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只 用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是...
  • PHP如何过滤重复数据——mysql distinct怎么用PHP+ mysql 该如何过滤重复数据,例如想从dj表中查出所有歌手的信息:$sql=”Select CD_Singer from “.tname(‘dj’).””;$result=mysql_query($sql)or die (...
  • 数据库使用正则进行过滤,写法与like语句非常相似,只需将‘like’关键字改为‘regexp’即可。我们先来看一个最简单的正则匹配: select * from mostimes where name regexp '666' 分析:这条sql语句表达是字段中...
  • 处理重复数据防止表中出现重复数据方法:设置多重主键或添加唯一索引primary key(valuelist)valuelist是一个行字段列表,可以将多个或一个行字段设置为主键,插入数据时检查valuelist是否有重复的注意,设置为主键的...
  • SQL 去除重复、获取最新记录

    千次阅读 2020-12-23 18:55:20
    应用中常会有需要去除重复的记录,或者获取某些最新记录(如:每个用户可以答题多次,每次答题时间不同,现在要获取所有用户的最新答题记录,即每个用户取最新的一条)使用group 和max 即可实现上述功能。1、去除重复...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 110,616
精华内容 44,246
关键字:

sql过滤重复数据