[pgsql-jp: 36890] Re: 項目毎に件数指定をしたい

odagiri atsushi aodagx @ gmail.com
2006年 3月 17日 (金) 23:19:49 JST


小田切です。
送った後に気づいたのですが、rishさんとまったく同じでした。
失礼。


06/03/17 に odagiri atsushi<aodagx @ gmail.com> さんは書きました:
> 小田切です。
> こんな感じですかね。
>
> select *
> from ex1 e
> where seq in (select seq from ex1 f where f.id = e.id order by f1 limit 2)
> order by e.id , e.f1 desc
>
> 相関クエリなので、パフォーマンスは保障できませんが。
>
>
> 06/03/17 に 西村 篤史<a2c @ lets-heart.co.jp> さんは書きました:
> > 西村@和歌山市です。
> > いつも勉強させていただいます。
> >
> > Select文にて、offset,limit を使った件数指定ですが、
> > 指定のカラムにある値ごとに上位2位の表示をしたいと思っております。
> >
> > 例えばテーブル内のカラムが「 ID ,f1 ,f2 ,f3 ,f4」となっており、
> > レコードは下記の通り入っているとします。
> >
> > 001,400 ,200 ,300 ,400
> > 001,500 ,200 ,300 ,400
> > 001,600 ,200 ,300 ,400
> > 002,100 ,200 ,300 ,400
> > 002,200 ,200 ,300 ,400
> > 002,300 ,200 ,300 ,400
> >
> > 表示したい形は、こんな感じです。
> > 001,600 ,200 ,300 ,400
> > 001,500 ,200 ,300 ,400
> > 002,300 ,200 ,300 ,400
> > 002,200 ,200 ,300 ,400
> >
> > つまり、左端のカラム「ID」ごとにカラム「f1」の値が大きい順に
> > 上位2位までを表示したいのですが、Select文ではどう書けば良いので
> > しょうか?
> > 普通にOffset,limit を使うと表示する全体の件数から上位何位までと
> > なりますが、「ID」毎にselect文を実行する事になるのでしょうか。
> >
> > すみませんが、ご教授の程、宜しくお願いいたします。
> >
>
>
> --
> /*
> Atsushi Odagiri
> mailto:aodagx @ gmail.com
> */
>


--
/*
Atsushi Odagiri
mailto:aodagx @ gmail.com
*/



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