数据库查重复的数据

数据库查重复的数据

问:sql怎么查询两个字段相同的记录?
  1. 答:1、查询重复的数据,只查询重复记录,不管其余信息,如ID什么的:
    1select uid, time from ztest GROUP BY uid, time having count(*)>1;
    查出结果是
    uid time
    1     1
    2、SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
    3、SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口。SQL语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。
问:如何查找数据库中的重复数据?
  1. 答:你是要查找数据库中某个字段下的相同数据吧,我给你写2个例子
    (数据库执行效率高)
    select
    *
    from
    dbo.MediafileInfo
    as
    a
    where
    (VideoDownUrl
    IN
    (SELECT
    VideoDownUrl
    FROM
    MediafileInfo
    AS
    B
    WHERE
    A.ProgramID
    <>
    B.ProgramID))
    (数据库执行效率低)
    SELECT
    *
    FROM
    MediafileInfo
    AS
    A
    WHERE
    (SELECT
    COUNT(*)
    FROM
    MediafileInfo
    WHERE
    VideoDownUrl=A.VideoDownUrl)>1
问:怎样查询数据库中重复的数据
  1. 答:一般来讲查询数据中有重复的记录,首先要确定"重复"的定义,例如单字段重复、多字段组合重复等,然后再根据"重复"的定义进行分组计数,组计数大于1的即为有重复的记录。
    下面举个例子供参考:
    有雇员表(工号,姓名,身份证号码)
    其中字段"身份证号码"因未设置唯一索引,存在重复的情况,现要求检索出身份证有重复的员工资料,SQL实现语句如下
    select a.* from 雇员 a,
    (select 身份证号码 from 雇员 group by 身份证号码 having count(*)>1) b 
    where a.身份证号码=b.身份证号码;
数据库查重复的数据
下载Doc文档

猜你喜欢