[pgsql-jp: 26887] Re: ランダムに並び替えて SELECTする

Yutaka tanida yutaka @ hi-net.zaq.ne.jp
2002年 8月 2日 (金) 16:22:33 JST


谷田です。

On Fri, 2 Aug 2002 16:05:16 +0900
"中島 学" <manabu_nakajima @ fmltd.co.jp> wrote:

> 中島です。お答えいただき、ありがとうございます。
> 
> 1.select ... order by (oid * v1) % v2 ;
> 2.order by random()
> 
> と2通り考えられるということですね。
> どうもありがとうございました。

補足ですが、

(2)はランダム性としてはより高いですが
(1)には再現性があるというメリットがあります。ですから

select ... offset 20 limit 20
select ... offset 20 limit 40

のような処理でページ分けをするなら(1)のような手法が必須だと思います。そ
うでなければ(2)の方がいいでしょう。

-- 
Yutaka tanida <yutaka @ hi-net.zaq.ne.jp>




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