【发布时间】:2021-07-23 06:04:26
【问题描述】:
列代码具有重复的值,我确实想删除该行的重复项。
例如,我想删除列代码的重复项以及其上具有重复项的行。另一列是否重复并不重要,但我确实想将它基于代码列。我可以使用什么 sql 查询。?谢谢
this is the table I am working to.
如您所见,有一个值为 1 的 isdeleted 列。我只想要它们的值为 0 的记录
这是一个示例记录,在这里您可以看到第 1 行的 isdeleted 值为 1,这意味着该记录已被删除,我只需要此代码的第 2 行。
【问题讨论】:
-
“Microsoft SQL” - 您是指 SQL Server(如果是 - 请添加
sql-server标记!),或者您指的是 Microsoft 中使用的 SQL使用权? (ms-access) -
您决定保留几行中的哪一行以及删除哪一行的逻辑是什么?
-
您需要在 where 子句中添加额外的谓词,以使您要删除的每一行都是唯一的。根据数据的结构方式,您可能会在删除语句的子查询中使用 RANK 函数,因此可以删除排名大于 1 的每一行。有很多方法可以解决这个问题,这一切都取决于表中的数据。
-
它用于 SQL 服务器,我的错。我确实想要一个输出,该输出将删除列代码上的重复项,并仅保留按当前年份从有效日期列中排序的行。这是样品表。希望你们能帮助我,因为这张桌子上有数千个重复项。我只希望删除重复项,并仅使用 table 中的有效日期保留唯一行。我不是要删除数据,只是一个显示排序输出的查询。
标签: sql sql-server duplicates