【问题标题】:How to delete duplicate rows in postgres with conditions如何使用条件删除postgres中的重复行
【发布时间】:2022-07-18 20:53:44
【问题描述】:

我有一个包含重复行项目的表,但我想删除具有特定条件的行。例如

id   name   car   payment
1    Mary   Kia   True
2    Mary   Kia   None
3    Joe    Honda True

如何删除剩下的第二行

id   name   car   payment
1    Mary   Kia   True
3    Joe    Honda True

【问题讨论】:

  • 如何识别“坏行”? Payment = None ?
  • 能否将行(4、Bart、Ford、None)也添加到样本数据中?

标签: sql database postgresql


【解决方案1】:

如果您只想以这种方式查看您的数据,请使用DISTINCT ON:

SELECT DISTINCT ON (name, car) *
FROM yourTable
ORDER BY name, car, id;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-23
    • 2018-06-15
    • 2016-08-16
    • 1970-01-01
    • 2018-03-05
    • 1970-01-01
    相关资源
    最近更新 更多