我在表格中有以下列:
产品名称 量
如果产品名称相同,我想添加产品数量。例如,如果我有两次相同名称的产品,我希望添加产品的总数量并获得结果。
这是表格,我想添加相同项目的数量:
表格中的当前数据
Name Quantity
Pen 3
Pencil 2
Pen 6
Eraser 7
Eraser 6
预期输出:
Name Quantity New Column
Pen 3 3
Pen 6 9
Pencil 2 2
Eraser 7 7
Eraser 6 13
答案 0 :(得分:1)
要实现这一目标,您需要使用ROWNUM和 Sum
Partition
可能是这样的
SELECT Name,
Quantity,
SUM(Quantity) Over (Partition By Name Order By ROWNUM) As Sum_Value
From Table1
Order By Name Desc;
<强> Fiddle Demo 强>
输出:
NAME QUANTITY SUM_VALUE
-----------------------------
Pencil 2 2
Pen 3 3
Pen 6 9
Eraser 7 7
Eraser 6 13
答案 1 :(得分:0)
您可以添加处理此新列更新的插入,更新和删除触发器。示例(未经测试):
CREATE OR REPLACE TRIGGER X
BEFORE INSERT ON T
FOR EACH ROW
BEGIN
set new.total_quantity := ( select sum(Quantity) from T
where name = :new.name ) + :new.quantity
END;
/
要使用Vignesh解决方案填充现有行