0

我在一个名为的表中有重复的数据,bank_currency如下所示:

currencyid | bankid
--------------------
8             1
8             1
8             1
16            2
16            2
16            2
14            3
14            3
14            3

我不知道为什么数据被重复三次,但我需要删除所有重复项并只保留每一行中的一个。所以我最终是这样的:

currencyid | bankid
--------------------
8             1
16            2
14            3

我不能or告诉 postgresql 保留哪一行,因为它们是重复的ORDER BY。也许下订单(如果可能的话)并保持最低?任何建议都非常感谢。bankidcurrencyidROW_NUMBERROW_NUMBER

4

1 回答 1

1

如果您的表没有 id 列,最好的选择可能是使用临时表:

CREATE TABLE bank_currency_temp AS
SELECT DISTINCT bankid, currencyid
FROM bank_currency;

之后删除原始表

DROP TABLE bank_currency

然后重命名临时表

ALTER TABLE bank_currency_temp
RENAME TO bank_currency;
于 2022-02-24T19:32:09.043 回答