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

14 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

AttributeError: ‘NoneTyp…

在PyCharm创建的Virtualenv环境下,使用pip安装包时,老是提示需要升级pip,具体提示信息为:
12 sec read

Anaconda包更新遇到的问题及解决方案

Anaconda可以通过命令升级所有的Python包,具体命令为:conda update –al
7 sec read

复合事件处理CEP简介

什么是复合事件处理? 这是一个IT事件爆发的时代,各种IT系统之间或系统内部,每天产生大量事件。系统在关键点打
23 sec read

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

发表评论

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