. , , . .
, 20 5 , Value1 3 (8 + 4 + 1 + -1 + -9).
? / Value1?
: , 20 , :
DECLARE @x FLOAT = 20.0
DECLARE @values TABLE (
ID INT,
VALUE FLOAT,
NEWVAL FLOAT)
INSERT INTO @values (ID, VALUE) VALUES (1,6), (2,5),(3,4),(4,3),(5,9)
UPDATE f
SET [NEWVAL] = [newValue]
FROM @values f
INNER JOIN (
SELECT
ID,
value + ((VALUE / [maxValue]) * @x) [newValue]
FROM
@values
CROSS APPLY (
SELECT
SUM(value) [maxValue]
FROM
@values
) m
) a ON a.ID = f.ID
SELECT * FROM @values
, float, . , , - @x, ( > 1 , < 1 ). 1 2.
, , .