0

谁能告诉我如何创建一个视图,该视图具有一个附加的 RANK 列,用于由其他一些列分组的值列?

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

问题是 VIEW 将计算的“排名”应该按那些GROUPs 分组(比如 0、1、2)。

ID
BALANCE
GROUP2
GROUP1
GROUP0
RANK

谢谢。

编辑 ----------------------- 对不起,我应该解释更多。该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 回答