我需要循环内和的值。(Oracle)如何获得循环内的总和值?
DECLARE
VAR_PCT NUMBER;
CURSOR C1 IS
SELECT A, B FROM TBL;
BEGIN
FOR REC1 IN C1
LOOP
--This where i need the value of sum(rec1.b) to calculate VAR_PCT:=(REC1.B/SUM(REC1.B))*100
DBMS_OUTPUT.PUT_LINE(REC1.A ||'|'|| REC1.B ||'|'||VAR_PCT)
END LOOP;
END;
所以,基本上,我需要弄清楚如何获得B的总
编辑:
我忘了,我有和之前积累多了一个变数
*FOR REC1 IN C1
LOOP*
VAR_X := VAR_X+REC1.B
*--This where i need the value of sum(rec1.b) to calculate VAR_PCT:=(REC1.B/SUM(REC1.B))*100
DBMS_OUTPUT.PUT_LINE(REC1.A ||'|'|| REC1.B ||'|'||VAR_PCT)
END LOOP;*
而且VAR_PCT为(VAR_X/SUM(REC1.B))*值100
这就是为什么我需要在循环内计算它。
它应该被撷取在'SQL'本身,否则,运行循环两次,第一次计算SUM“并将结果集存储到集合中。之后,打印遍历集合的结果。 –