[pgsql-jp: 37132] Re: 指定した範囲の複数行を削除したい
Yasuhiro Shibutani
yasuhiro_shibutani @ ybb.ne.jp
2006年 5月 31日 (水) 19:31:56 JST
渋谷です。
実際には LIMIT OFFSET と一緒に ORDER BY 句を使ってますよね?
(でないと何が消えるか分からないので・・・)
サブクエリの結果からユニークキーを取り出して
等価比較するのではなく、ソートに使用している
フィールドの MIN と MAX を取得してその範囲を
削除すれば良いのではないでしょうか。
ソートフィールドに重複がある場合(timestamp 型など)、
削除される件数が一定にならない可能性がありますが、
用件的には問題とならない場合が多いように思います。
On Wed, 31 May 2006 17:59:05 +0900
Matsumoto Taichi <taichino @ naoko-takeuchi.net> wrote:
> 松本です。
>
> 早川様、板垣様、加藤様、
> ご返信ありがとうございました。
>
> ただお恥ずかしいことに、ユニークキーを
> 持たないテーブルを作成してしまい変更するのが難しい状況です。
> 対象のテーブルがユニークキーを持たない場合は
> そのようなそのような指定ができないのでしょうか。
>
>
> もしユニークキーを持たないテーブルに対しても
> 使用可能な書式があればご教授願えないでしょうか。
>
>
> 以上お手数ですが宜しくお願いいたします。
>
>
> -----------------------------------------------------------
> Matsumoto Taichi : taichino @ naoko-takeuchi.net
> -----------------------------------------------------------
--
Yasuhiro Shibutani <yasuhiro_shibutani @ ybb.ne.jp>
pgsql-jp メーリングリストの案内