根据模式分配唯一行号



我有一个包含以下字段的表格

CourseID  Amount17 Amount15 Amount13
100152  3000    2400    0
100204  3000    2400    0
100066  3000    2400    0
100066  3000    2400    1800
100067  3000    2400    1800
100343  3000    2400    1800
100126  3000    2400    1800
100022  3000    3000    0
100344  3000    3000    0
100050  3000    3000    0
100078  3000    3000    0

我想将匹配的三个金额列分组到一个列表中。我想要的输出

CourseID  Amount17 Amount15 Amount13   CourseList
100152  3000    2400    0            1
100204  3000    2400    0            1
100066  3000    2400    0            1
100066  3000    2400    1800         2
100067  3000    2400    1800         2
100343  3000    2400    1800         2
100126  3000    2400    1800         2
100022  3000    3000    0            3
100344  3000    3000    0            3
100050  3000    3000    0            3
100078  3000    3000    0            3

我已经尝试过row_number(按顺序排序(,但它似乎没有帮助。尝试使用DenseRank,但没有用。

我想你只是想要dense_rank()

select t.*,
dense_rank() over (order by amount17, amount15, amount13) as courselist
from t;

相关内容

  • 没有找到相关文章

最新更新