gpt4 book ai didi

sql - 从没有主键的临时表中删除重复字段

转载 作者:行者123 更新时间:2023-12-02 12:34:19 25 4
gpt4 key购买 nike

我需要从临时表中删除重复字段,其中相关字段不完全相同。

例如,我有以下数据:

First  Last     DOB
John Johnson 10.01.02
Steve Stephens 23.03.02
John Johnson 2.02.99
Dave Davies 3.03.03

这里有两个约翰·约翰逊的。我只想拥有一位约翰·约翰逊——我不在乎是哪一位。因此生成的表格将类似于:

First  Last     DOB
John Johnson 10.01.02
Steve Stephens 23.03.02
Dave Davies 3.03.03

我正在使用 TSQL,但我更喜欢使用非专有的 SQL。

谢谢

最佳答案

Sql Server 支持公用表表达式窗口函数。通过使用为每个组提供排名编号的ROW_NUMBER(),您可以过滤掉排名大于 1 的记录(这是重复的)

WITH records
AS
(
SELECT [First], [Last], DOB,
ROW_NUMBER() OVER (PARTITION BY [First], [Last] ORDER BY DOB) rn
FROM TableName
)
DELETE FROM records WHERE rn > 1

关于sql - 从没有主键的临时表中删除重复字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15904763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com