SQL Server中怎样可以从SELECT语句的结果集中删除重复行

SQL Server中怎样可以从SELECT语句的结果集中删除重复行,第1张

在要删除的有重复数据中存在几种情况

1存在两条完全相同的纪录

这是最简单的一种情况,用关键字distinct就可以去掉。

example: select distinct from table(表名) where (条件)

2存在部分字段相同的纪录(有主键id即唯一键)

如果是这种情况的话用distinct是过滤不了的,这就要用到主键id的唯一性特点及group by分组

example:

select from table where id in (select max(id) from table group by [去除重复的字段名列表,])

3没有唯一键ID

example:

select identity(int1,1) as id, into newtable(临时表) from table

select from newtable where id in (select max(id) from newtable group by [去除重复的字段名列表,])

扩展资料:

SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用。

Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

参考资料:

百度百科-Microsoft SQL Server管理系统

因为A表的s我也不清楚有没重复,估计是有重复,所以结果集就多了。

要去重复的话,就要保证A中的s不重复

select ct,bs,bsm from b

left join (select s,max(t) t, from a) c on bs=cs

如果表中有多组完全不同的重复的 PK 值 则逐个删除它们会很费时间 在这种情况下 可使用下面的方法

首先 运行上面的 GROUP BY 查询来确定有多少组重复的 PK 值及每组的重复数

选择重复的键值放入临时表中 例如

SELECT col col col =count() INTO holdkey FROM t GROUP BY col col HAVING count() >  

选择重复的行放入临时表中 以清除进程中的重复值 例如

SELECT DISTINCT t INTO holddups FROM t holdkey WHERE t col = holdkey col AND t col = holdkey col  

此时 holddups 表应有唯一的 PK;但是 如果 t 有重复的 PK 而行唯一(如上面的 SSN 示例) 情况就不是这样了 请验证 holddups 中的各个键是否唯一 是否没有键重复而行唯一的情况 如果是这样 您必须停在该处 确定对于给定重复的键值 您希望保留哪些行 例如 以下查询

SELECT col col count() FROM holddups GROUP BY col col  

应为各行返回计数 如果结果是 请继续执行下面的步骤 如果不是 则存在键重复而行唯一的情况 且需要您决定要保存哪些行 通常 这将需要舍弃行或为此行创建新的唯一的键值 为 holddups 表中每个此种重复 PK 执行这两个步骤之一

从原始表中删除重复的行 例如

DELETE t FROM t holdkey WHERE t col = holdkey col AND t col = holdkey col

将唯一行放回原始表中 例如

lishixinzhi/Article/program/SQLServer/201311/22468

以上就是关于SQL Server中怎样可以从SELECT语句的结果集中删除重复行全部的内容,包括:SQL Server中怎样可以从SELECT语句的结果集中删除重复行、数据库查询重复的问题、详解如何删除SQL Server表中的重复行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9626724.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存