添加一个订单列,其中值是 table 考虑分组 id(db2) 中的位置

Adding an order column where the value is the position in the table considering an grouping id(db2)

我需要在以下 table:

添加一个订单栏
| Id | DepId | Name  | 
|----|-------|-------|
|  1 |   1   |  Bill |
|  2 |   1   |  Joe  |
|  3 |   2   |  Jack |
|  4 |   1   |  Jill |

应该变成:

| Id | DepId | Name  | Order |
|----| ------|-------|-------|
|  1 |   1   |  Bill |   1   |
|  2 |   1   |  Joe  |   2   |
|  3 |   2   |  Jack |   1   |
|  4 |   1   |  Jill |   3   |

我知道让我们使用 id 排序,不用担心这样的排序列,但在这种情况下,当条目移动时难度会增加。

您正在查找 ROW_NUMBER() OLAP 函数...

您可以(应该)创建一个视图,而不是实际将列添加到物理 table:

create view myview as
 (select Id, DepId, Name
    , ROW_NUMBER() OVER(PARTITION BY DepId ORDER BY DepId, ID) as OrderNbr
  from mytable
 )