У меня есть таблица, которая выглядит следующим образом:
id | day | value
-----------------
1 | SUN | 10
1 | MON | 15
1 | TUE | 11
.
.
.
1 | SAT | 13
2 | SUN | 08
.
.
.
2 | SAT | 22
Я хотел бы вычислить новую переменную с именем time_weight
, которая является весом value
, пропорциональной определенному дню.Формула для этого в языке программирования, таком как R или Python, будет выглядеть примерно так: ((value - value[day=='TUE']) / value[day=='TUE']) + 1)
, поэтому time_weight
будет равно 1, когда day = 'TUE'
, и 1,36 для id = 1 & day = 'MON'
.Мне любопытно узнать, как это сделать в Oracle.
РЕДАКТИРОВАТЬ:
Вот мой ожидаемый результат:
id | day | value | time_weight
-------------------------------
1 | SUN | 10 | 0.9090
1 | MON | 15 | 1.3636
1 | TUE | 11 | 1
.
.
.
1 | SAT | 13 | 1.1818
2 | SUN | 08 | 0.4000
2 | MON | 10 | 0.5000
2 | TUE | 20 | 1.0000
.
.
.
2 | SAT | 22 | 1.1000