0

他の列でグループ化された値列に追加の RANK 列を持つビューを作成する方法を教えてください。

ID
BALANCE
GROUP2
GROUP1
GROUP0
unique (GROUP0, GROUP1, GROUP2)

問題は、VIEW が計算する 'RANK' をそれらGROUPの s (0、1、2 など) でグループ化する必要があることです。

ID
BALANCE
GROUP2
GROUP1
GROUP0
RANK

ありがとう。

EDIT ----------------------- 申し訳ありませんが、もっと説明する必要があります。RANK列は、各グループ (GROUP0、GROUP1、GROUP2) の「バランスによるランキング」です。

だから私はビューが次のようになりたい

ID  BALANCE  GROUP0  GROUP1  GROUP2  RANK
-----------------------------------------
    1000     0       0       0       1
    999      0       0       0       2
    1000     1       0       0       1
    999      1       0       0       2

ありがとう。

4

1 に答える 1

2

明確な質問ではありません。これは、あなたの望むことですか?

Select 
  id,
  balance,
  group1,
  group2,
  group3,
  row_number() over(partition by group1, group2, group3) as rank
from your_table.

必要に応じて over 句に order by を追加できます。次に例を示します。

     row_number() over(partition by group1, group2, group3 order by id) as rank
于 2012-05-02T09:51:07.890 に答える