gpt4 book ai didi

sql - 不使用 ROW_NUMBER() 函数删除重复记录

转载 作者:行者123 更新时间:2023-12-04 14:29:54 25 4
gpt4 key购买 nike

我想在不使用 ROW_NUMBER() 函数的情况下删除重复记录 (SQL Server)

示例:包含以下数据的表格:

name     salary
-----------------
Husain 20000.00
Husain 20000.00
Husain 20000.00
Munavvar 50000.00
Munavvar 50000.00

删除重复记录后
表应该包含这样的数据:
name     salary
-----------------
Husain 20000.00
Munavvar 50000.00

最佳答案

由于这个问题的动机似乎是学术兴趣而不是实际用途......
该表没有主键,但有未记录的伪列 %%physloc%%可以提供替代品。

DELETE T1
FROM YourTable T1 WITH(TABLOCKX)
WHERE CAST(T1.%%physloc%% AS BIGINT)
NOT IN (SELECT MAX(CAST(%%physloc%% AS BIGINT))
FROM YourTable
GROUP BY Name, Salary)
实际上你不应该使用上面的和 just use row_number 因为它更有效率和文档。
( Data Explorer Demo )

关于sql - 不使用 ROW_NUMBER() 函数删除重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37560593/

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