[pgsql-jp: 38936] Re: グループごとの最大値を持つデータを取得したい

Akira Nakamura nakamura_ml @ art.edisc.jp
2007年 11月 7日 (水) 13:07:34 JST


中村です。

SELECT distinct on( category ) *  FROM test ORDER BY category ,cnt DESC;

では、ダメでしょうか。
重複に関しては、ORDER BYで上位になる様にすれば問題無いと思います。 


> 神内と申します。いつも皆様お世話になっております。
> 
> From: 鈴木孝征 <takamasa @ thaliana.myhome.cx>
> Subject: [pgsql-jp: 38931] Re: グループごとの最大値を持つデータを取得したい
> Date: Wed, 07 Nov 2007 11:49:00 +0900
> 
> > 鈴木と申します。
> >
> > select * from test where (category, cnt) in (select 
> category, max(cnt)
> > from test group by category);
> >
> > でどうでしょうか。
> >
> 
> 非常に良く考えられた SQL であるとおもいますが、同じ cnt を持っている
> レコードがあった場合とかどうしましょうか?
> 
> 悩みますね。

--
nakamura




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