Oracle SQL - Факторизация значений для достижения требуемого общего - PullRequest
0 голосов
/ 06 февраля 2019

Я ищу функцию / расчет sql, которая позволяет мне увеличить набор значений для достижения требуемой цели.

Чтобы сделать ее более понятной.У меня есть шаги, чтобы построить продукт.Каждый шаг занимает определенное количество времени.8,6, 7,2, 6,6, 6,6, 3,1, 5,9, 9,2, 4,5, 4,4, 2,7, 7,7, 7,7, 5,8.Общее количество этих строк дает мне 80 дней, чтобы закончить сборку.Но приходит мой менеджер и говорит, что теперь это занимает 125 дней.Как я могу учесть каждый шаг так, чтобы новый итог давал мне 125 дней?

Excel может достичь этого, используя поиск цели.Я не могу найти аналогичную функцию в SQL или PLSQL.

Любая помощь с благодарностью.

1 Ответ

0 голосов
/ 06 февраля 2019

Это то, что вы хотите?

select t.*,
       t.time * (125 / sum(t.time) over (partition by product)) as scaled_time
from t;

Это увеличивает каждое значение, так что сумма будет 125.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...