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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server中怎样可以从SELECT语句的结果集中删除重复行相关的知识,希望对你有一定的参考价值。

参考技术A

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

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管理系统

SQL语句怎样把远程数据更新到本地数据库中。

远程数据库的表和本地数据库的表名是一样的。把远程数据库的表和本地表比较 把不同的插入到本地数据库的表中来.应该怎样写sql语句。

建立从本地访问远程数据库的链路DBLINK。
登入本地数据库用户。
insert into 本地表 select * from 方案名.表名@DBLINK where 主键 not in (select 主键 from 本地表);追问

这个是ORAcle 数据库把 ,我的是SQLserver的

参考技术A sqlserver下可以建立连接服务器名称,然后更新语法是 update tab1 t1 set a=t2.a from tab1,连接名.dbo.tab1 t2 where t1.id=t2.id
不同的数据库用法不相同
参考技术B 难道不能直接还原库么,搞这麻烦 参考技术C 你可以把远程的数据库还原到本地吗?

以上是关于SQL Server中怎样可以从SELECT语句的结果集中删除重复行的主要内容,如果未能解决你的问题,请参考以下文章

sql server 怎样用select语句调用自定义表值函数

sql server 怎样用select语句调用自定义表值函数

SQL server 两个查询结果拼接成一个,语句改怎样修改?

如何从 SQL Server SELECT 语句返回新的 IDENTITY 列值?

sql server 怎样用SQL语句查询一个数据库中的所有表?

关于VFP和SQL Server的