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

Docker容器内多用户版JupyterHub支持GPU

前一篇文章介绍了Docker下安装多用户版的JupyterHub,但安装完毕后会遇到一个问题:Docker内无
标点符
3 min read

使用Docker安装多用户版的JupyterHub

宿主服务器使用的是Ubuntu 18.04,需要注意的是Docker目前不支持Ubuntu 19.10。如要在
标点符
3 min read

使用tqdm显示Python代码执行进度

在使用Python执行一些比较耗时的操作时,为了方便观察进度,通常使用进度条的方式来可视化呈现。Python中
标点符
34 sec read

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

发表评论

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