[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 メーリングリストの案内