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

"なかで" nakade @ prjapan.jp
2007年 11月 7日 (水) 11:41:59 JST


こんにちは、中出と申します。

しばらくSQLで悩んでいるのですが、良い方法が
思いつかなかったので投稿させていただきます。


以下のようなテーブルがあり、データがあるとします。
categoryごとにcntが最大のデータを1回のSQL発行で
取得できないかと思っています。
よい方法があれば教えてください。

なお、category分のSQLを発行してcntが最大のデータ
を取得するというのもありますが、categoryが増える
可能性がありますので、できれば避けたいと考えてい
ます。

以上、よろしくお願いします。

●テーブル
CREATE TABLE "test"
(
  category int4 NOT NULL,
  name varchar(10) NOT NULL,
  cnt int4 DEFAULT 0
) 

●データ
category | name | cnt
---------+------+-----
1        | hoge | 1
1        | fugo | 2
2        | fufu | 1
2        | hoho | 3

●取り出したいデータ
category | name | cnt
---------+------+-----
1        | fugo | 2
2        | hoho | 3

-- 
nakade <nakade @ prjapan.jp>





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