- PR -

DB2で集計結果をTOP指定する方法

投稿者投稿内容
グレハン
常連さん
会議室デビュー日: 2006/02/23
投稿数: 25
投稿日時: 2006-03-21 12:58
とんくま様

返答が遅くなって申し訳ございません。

そういう書き方ができるんですね。
大変勉強になりました。
(といいつつ、いまいちPARTITION BY...の部分がわかっていませんが)
これを参考に自分で調べてみようと思います。
本当にありがとうございました。
明智重蔵
大ベテラン
会議室デビュー日: 2005/09/05
投稿数: 127
投稿日時: 2006-03-22 09:33
仕様によって(MONEYが同点の場合)は
RowNumberではなく
Rankかdense_rankを使う必要がありますね

TBL_MONEY
KEY1 | KEY2 | KEY3 | MONEY
A | A1 | a1 | 10
A | A1 | a2 | 10
A | A1 | a3 | 20
A | A2 | a1 | 40
A | A3 | a1 | 40
A | A4 | a1 | 40
A | A5 | a1 | 30
A | A6 | a1 | 20

こんな感じのデータの上位二件って
どれかという話で

Row_Numberを使うと、A1、A2、A3、A4のどれか二件
RankだとA1、A2、A3、A4
dense_RankだとA1、A2、A3、A4、A5
がでてきます


OracleSQLパズル
http://oraclesqlpuzzle.hp.infoseek.co.jp


[ メッセージ編集済み 編集者: 明智重蔵 編集日時 2006-03-24 12:05 ]
グレハン
常連さん
会議室デビュー日: 2006/02/23
投稿数: 25
投稿日時: 2006-03-24 10:26
明智様
返答が遅くなって申し訳ございません。

ご指摘頂いたRankやdense_rankで、ぐぐってみたら
以下のDB2マニュアルをみつけました。

http://www-306.ibm.com/software/data/db2/udb/support/manualsNLVv8.html#ja_main
(ここの、SQL Reference, Volume 1 ver8.1)

これを参考に勉強させて頂きたいと思います。
ご返答くださった方々、どうもありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)