数据库查重复的数据
2022-12-08
阅读(1196)

问:sql怎么查询两个字段相同的记录?
- 答: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语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。
问:如何查找数据库中的重复数据?
- 答:你是要查找数据库中某个字段下的相同数据吧,我给你写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的即为有重复的记录。
下面举个例子供参考:
有雇员表(工号,姓名,身份证号码)
其中字段"身份证号码"因未设置唯一索引,存在重复的情况,现要求检索出身份证有重复的员工资料,SQL实现语句如下
select a.* from 雇员 a,
(select 身份证号码 from 雇员 group by 身份证号码 having count(*)>1) b
where a.身份证号码=b.身份证号码;