人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

データベースの項目で「ID」「グループID」「データ項目」「順位」があります。
同じグループIDの中で順位がMAXの行を探してデータ項目をとってくるにはどうしたらいいでしょうか?

●質問者: katase_n
●カテゴリ:コンピュータ
✍キーワード:Max グループ データ データベース
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● vegah
●20ポイント

http://www.hatena.ne.jp/

はてな

データベース

私がやっている方法(自己流)ですが・・・

「グループID」ともう一項目として、「順位」と「データ項目」を文字列としてつなげた項目を作ります。

例えば、

「グループID」・・・ABCDE

「順位」・・・10

「データ項目」・・・5050

とすると、

「順位」と「データ項目」をつないで、 00105050 というようにします。

仮に、この項目を「順位データ項目」とします。

そして、「グループID」をグループ化して、「順位データ項目」は最大値を取ります。

最後に、「順位データ項目」から、「データ項目」の部分を取り出す。

というものです。


2 ● troubleantenna
●20ポイント

http://jpug.postgresql.jp/document/pg632doc/user/c0909.htm

group byで抽出して、あとは元の表との組み合わせで行けるかと。

select

table.ID as ID,

table.グループID as グループID,

table.データ項目 as データ項目,

table.順位 as 順位

from table

natural join (

select グループID, max(順位) as 順位

from table

group by グループID

) as max_table;

多分これで動くと思います。


3 ● MATSU
●20ポイント

http://www.oracle.com/

データベースは何ですか?

Oracle9.2では次のようにします。

select グループID,max(順位)

from table_hoge

group by グループID

;

◎質問者からの返答

質問の仕方が悪かったみたいですね。。

相関服問い合わせで解決しました。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ