Нужно заполнить значения между двумя последовательными строками и соответствующее значение для другого столбца в postgres - PullRequest
1 голос
/ 10 января 2020

Полагаю, у меня простой запрос, но я не уверен в его реализации в запросе postgreSQL.

У меня уже есть таблица, которую я использую, которая выглядит следующим образом -

enter image description here

Я хочу заполнить значения между двумя последовательными wind_speed и его соответствующим значением в power_kw, чтобы я мог использовать эти значения в CTE (общее выражение таблицы) для дальнейшего использовать. (PS Я не хочу создавать дополнительную таблицу в базе данных)

Вывод, который я ищу, выглядит следующим образом -

enter image description here

1 Ответ

0 голосов
/ 13 января 2020

Если между значениями wind_speed всегда есть приращение 0,5, я думаю, что-то вроде этого будет работать:

select
  power_curve_id,
  generate_series (wind_speed, wind_speed + 0.49, 0.01) as wind_speed,
  power_kw +
    (lead (power_kw) over (partition by power_curve_id order by wind_speed) - power_kw) / 50 *
    generate_series (0, 49) as power_kw
from power p

Если это не безопасное предположение, пожалуйста, укажите так ... есть способы

...