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语言学习:size_t

在学习C语言的时候,遇到了一个新的数据类型size_t,截止目前也没有完全理清这个类似的具体场景及出现的原因。
44 sec read

C语言学习:main()函数的正确写法

C语言虽然是一门古老的语言,但是其标准一直在完善,所以很多以前支持的语法在到当前已经不能在使用了。 C语言的版
41 sec read

Scipy数学函数的Scala实现

最近在推进项目的时候,遇到需要将线下的Python代码转化成线上的集群代码,由于机器代码环境是Scala,所以
4 min read

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

发表评论

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