我一直在尝试从表中删除重复项,但我需要更多通用的方法来做到这一点。如果表具有唯一标识符(如行 ID),则有多种方法可以做到这一点。但除此之外,这似乎非常困难,并且对于不同的数据库来说是不同的。
我什至探索了 CTE(通用表表达式)来执行相同的操作,但似乎数据库不允许使用 CTE 后跟
DELETE
子句(至少是我在 MySQL 和 Snowflake 中看到的)。
但是在 PostgreSQL 中,似乎有一种方法可以让我们不需要任何唯一标识符就可以实现这一点。这是通过使用
ctid
(PostgreSQL 中的系统列)实现的。我很好奇其他数据库是否有类似的功能,例如 ctid
,尤其是 MySQL 和 Snowflake 是我目前感兴趣的。
我很好奇其他数据库是否有像
类似的功能,尤其是MySQL和Snowflake是我目前感兴趣的。ctid
雪花中没有
CTID
。
ctid 是 Netezza,我想还有其他基于 postgresql 的数据库