I am processing the following tables and I would like to compute a new column (outcome) based on the distinct value of 2 other columns.
| id1 | id2 | outcome
| 1 | 1 | 1
| 1 | 1 | 1
| 1 | 3 | 2
| 2 | 5 | 1
| 3 | 1 | 1
| 3 | 2 | 2
| 3 | 3 | 3
The outcome should begin in incremental order starting from 1 based on the combined value of id1
and id2
. Any hints how this can be accomplished in Scala. row_number
doesn't seem to be useful here in this case.
The logic here is that for each unique value of id1
we will start numbering the outcome with min(id2
) for corresponding id1
being assigned a value of 1.