gpt4 book ai didi

SQL 查询在任何表中查找重复行

转载 作者:行者123 更新时间:2023-12-03 03:53:00 25 4
gpt4 key购买 nike

我正在寻找与模式无关的查询。也就是说,如果我有一个 users 表或 purchases 表,则查询应该同样能够在不进行任何修改的情况下捕获任一表中的重复行( >当然是 from 子句)。

我正在使用 T-SQL,但我猜应该有一个通用的解决方案。

最佳答案

我相信这应该适合你。请记住,CHECKSUM() 并不是 100% 完美 - 理论上这里可能会出现误报(我认为),但除此之外,您只需更改表名称即可,这应该可以工作:

;WITH cte AS (
SELECT
*,
CHECKSUM(*) AS chksum,
ROW_NUMBER() OVER(ORDER BY GETDATE()) AS row_num
FROM
My_Table
)
SELECT
*
FROM
CTE T1
INNER JOIN CTE T2 ON
T2.chksum = T1.chksum AND
T2.row_num <> T1.row_num

需要ROW_NUMBER(),以便您可以通过某种方式区分行。它需要一个 ORDER BY 并且不能是一个常量,所以 GETDATE() 是我的解决方法。

只需更改 CTE 中的表名称,无需拼写列即可正常工作。

关于SQL 查询在任何表中查找重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6683788/

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