如何删除具有相同信息但在不同列中的行?

How can I delete rows that have same information but in different columns?

我正在使用带有 pgAdmin 的 postgresql 数据库,我有一个 table 包含 2 列,列初始化和列结束所以 table 中的所有行都有相同的一个但数据在相反的列中。有没有办法删除不同列中包含相同数据的所有行,保留其中一列?像这样:

 Init - End   
1 A       B
2 B       A
3 C       D
4 D       E
5 D       C
6 E       D

我想删除第 2,4 和 5 行。

有 EXISTS:

delete from tablename t
where 
  t."Init" > t."End" 
  and
  exists (
    select 1 from tablename
    where "End" = t."Init" and "Init" = t."End"
  );

此代码将保留行(例如)A、B 并删除行 B、A。
demo.
结果:

| Init | End |
| ---- | --- |
| A    | B   |
| C    | D   |
| D    | E   |