小编Emr*_*una的帖子

Oracle表中分母最小公倍数的计算

我想创建一个表格来更好地说明我的问题

这是我在 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 都适合我。

我能为此做什么。

在此处输入图片说明

sql oracle plsql lcm oracle11g

3
推荐指数
1
解决办法
260
查看次数

标签 统计

lcm ×1

oracle ×1

oracle11g ×1

plsql ×1

sql ×1