我想创建一个表格来更好地说明我的问题
这是我在 oracle 数据库中的数据示例
我想做的工作是按以下步骤一步一步来的
1-按 group_id 列将分母列中的值分组并计算最小公倍数。对于此操作,我创建了 lcm(最小公倍数)和 gcd(最大公约数)函数。添加到这里。
CREATE OR REPLACE function SAMPLE.lcm(a number, b number) return number is begin return (a*b)/gcd(a,b); 结尾;
CREATE OR REPLACE function SAMPLE.gcd(a number, b number)
return number is
begin if b = 0 then return a; 否则返回 gcd(b,mod(a,b)); 万一; 结尾;
2-按分母列的值按比例增加分子值。像这样的数学公式:
(lcm(values of denominator(1..to -n)) / values of denominator ) * 分子的值
3-通过 group_id 值对新计算值进行分组来求和
使这项工作完成的所有项目,如 sql、function、view 都适合我。
我能为此做什么。