SQL Server中删除重复数据的方法

13 sec read

在一个没有主键的MSSQL的数据表中如何删除重复数据这个问题,是前几天在处理数据的时候遇到的。一下为具体方法:

删除数据的代码比较的简短,但是中间用到了很多SQL 2008才有的新特性。

特性一:CTE语法

通过CTE可以创建出一张临时表,这张表在定义中可以实现自引用,方便处理父子关系 。具体语法为:

WITH <CTE name> [(<column name>,[,…n])] AS (<query returning tabular data>)

<startment that will make use of the  CTE>

特性二:ROW_NUMBER()

返回结果集分区内行的序列号,每个分区的第一行从 1 开始。具体语法为:

ROW_NUMBER ( )     OVER ( [ PARTITION BY value_expression , … [ n ] ] order_by_clause )

PARTITION BY value_expression

将 FROM 子句生成的结果集划入应用了 ROW_NUMBER 函数的分区。 value_expression 指定对结果集进行分区所依据的列。 如果未指定 PARTITION BY,则此函数将查询结果集的所有行视为单个组。

order_by_clause

ORDER BY 子句可确定在特定分区中为行分配唯一 ROW_NUMBER 的顺序。 它是必需的。

打赏作者
微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

含C/C++代码包Anaconda安装问题

上篇文章主要讲了libffm在Windows系统下安装遇到的问题,今天在Linux环境下的Anaconda中安
1 min read

FFM/libffm在Windows上的使用

FFM 的作者Yu-Chin Juan在GitHub上开源了C++版本的代码libffm,由于日常的数据处理都
5 min read

使用Python获取照片Exif信息

什么是Exif? Exif(Exchangeable image file format)是专门为数码相机的照
4 min read

One Reply to “SQL Server中删除重复数据的方法”

发表评论

电子邮件地址不会被公开。 必填项已用*标注