如何使用EXCEL或ORACLE在单个列中显示相同的值
您好,我需要在“C”列中的公式计算/添加基于列A ID的B列的数量。 如果同一个ID中有多个金额,则应该加上总金额,并将结果显示在“C”列中作为一行。
输出可以从Oracle SQL查询或Excel公式获得。您的帮助将不胜感激。
您可以使用类似下面的分析函数从Oracle本身获得相同的输出。
SUM() OVER(PARTITION BY ... )
– >这实际上是做累计和
WITH MYTABLE(ID,AMT) AS (SELECT '2UF2', '500' FROM DUAL UNION ALL SELECT '2TC6', '300' FROM DUAL UNION ALL SELECT '2TC6', '200' FROM DUAL UNION ALL SELECT '2TC6', '800' FROM DUAL ) SELECT ID, AMT, CASE ROW_NUMBER() OVER(PARTITION BY ID ORDER BY NULL) WHEN 1 THEN SUM(AMT) OVER(PARTITION BY ID ORDER BY NULL) END AS FORMULA FROM MYTABLE ORDER BY ID, FORMULA NULLS LAST;
SQL小提琴演示
你可以在oracle中使用汇总
selectid,amt,sum(amt)null从表nullGroup按汇总(id,amt)
有关更多详情,请参阅下面的链
https://oracle-base.com/articles/misc/rollup-cube-grouping-functions-and-grouping-sets
在SQL中,你需要一个聚合函数,在这种情况下sum和一个group by子句。 通用查询应该如下所示:
Select sum(b) from table group by a
我希望这有帮助。