[pgsql-jp: 39261] Re: oidを使いたくなった場合

Masafumi Horimoto horimoto @ holly-linux.com
2008年 2月 26日 (火) 23:18:05 JST


ありがとうございます。
参考になりました。また、問題も解決できました。

ITAGAKI Takahiro さんは書きました:

> 重複削除の SQL を書く場合、ctid が使えます。これは、行の物理位置を表します。
> 以下は、id をユニークの条件として、ctid が最大のもの以外を削除します。

なるほど!こういうのがあるわけですね。
ってことで、

>   DELETE FROM test
>    USING (SELECT id, max(ctid) AS ctid FROM test GROUP BY id) AS X
>    WHERE X.id = test.id AND X.ctid <> test.ctid;

ちゃっかり参考にさせていただきました。

-- 
ホーリー・アンド・カンパニー株式会社  堀本  正文
 TEL 092-736-1001   FAX 092-736-1057
 URL http://www.holly-linux.com/
 〒810-0074 福岡市中央区大手門2丁目1番32号  むつろビル5F



pgsql-jp メーリングリストの案内