gpt4 book ai didi

sql - 根据条件删除重复行

转载 作者:行者123 更新时间:2023-11-29 12:01:21 25 4
gpt4 key购买 nike

我正在使用 PostgreSQL 数据库。我有如下数据。

   id      name1              name2            modified_date
- - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
40 Balfe | Pat | 2010-10-01 17:48:44.804823
41 Battigan | David |
42 Balfe | Pat | 2010-10-01 12:46:49.627593
44 Balfe | Pat | 2010-10-04 14:04:28.72415
45 Balfe | Pat |
46 Balfe | Pat | 2010-10-01 17:30:39.193153
47 Balfe | Pat |

我想从表中删除一些行。删除的条件是:

  1. 它将删除 modified_date = Null
    的重复记录 --> 不应删除一份重复记录。
  2. 具有修改日期的记录不应被删除,尽管它们是重复的。

从上表中,id为4745的记录应该删除。

最佳答案

这应该删除所有带有 modified_date Is Null 的记录,其中存在另一条具有相同 name1name2 的记录,它也有 modified_date 为空

id 最小的记录不会被删除。

Delete From your_table t1
Where modified_date Is Null
And Exists ( Select 1
From your_table t2
Where t2.name1 = t1.name1
And t2.name2 = t2.name2
And t2.modified_date Is Null
And t2.id < t1.id
)

关于sql - 根据条件删除重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3854254/

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