Попробуйте умножить на 100.0
, а также, возможно, использовать ROUND
:
SELECT
SUM(line_item_amount) OVER (ORDER BY line_item_amount DESC) AS RunningTotal,
ROUND(100.0 * line_item_amount /
SUM(line_item_amount) OVER (ORDER BY line_item_amount DESC), 2) AS percent
FROM invoice_line_items ili
INNER JOIN general_ledger_accounts gla
ON ili.account_number = gla.account_number
WHERE
account_description <> 'freight' AND account_description <> 'telephone'
ORDER BY
cost DESC;
Примечания:
Я заменил ваши LIKE
выражения в предложении WHERE
на регулярные неравенства, потому что вы не использовали %
подстановочные знаки. Вышеприведенная версия соответствует той же логике, что и вы, хотя, возможно, вы намеревались использовать что-то вроде WHERE account_description NOT LIKE '%freight%'
. Если это так, то отредактируйте мой код, как хотите.