Один метод использует условное агрегирование:
select ( value * 1.0 /
max(case when rownumber = 0 then value end) over (partition by filename, filedate)
value
) as ratio
Я предполагаю, что группы разбиения основаны на filename
и filegroup
.
Или используйте first_value()
:
select ( value * 1.0 /
first_value(value) over (partition by filename, filedate order by rownumber)
value
) as ratio
Чтобы поместить любой из них в представление, вам понадобится подзапрос.
Если упорядочение основано на максимальном значении, вы можете использовать аналогичные логики c (и обойтись без подзапроса):
select ( value * 1.0 /
max(value) over (partition by filename, filedate) * 1.0
value
) as ratio