看错了.我以为是累计.
这样就行了.
SELECT CODE,
NAME,
SUM(DECODE(SUBJECT, '语文', MARKING, 0)) AS 语文,
SUM(DECODE(SUBJECT, '数学', MARKING, 0)) AS 数学,
-- SUM(SUM(MARKING)) OVER(ORDER BY CODE ROWS 1 preceding) AS 总分
SUM(MARKING) 总分
FROM STUDENT
GROUP BY CODE, NAME
SQL> SELECT CODE,
2 NAME,
3 SUM(DECODE(SUBJECT, '语文', MARKING, 0)) AS 语文,
4 SUM(DECODE(SUBJECT, '数学', MARKING, 0)) AS 数学,
5 SUM(SUM(MARKING)) OVER(ORDER BY CODE) AS 总分
6 FROM STUDENT
7 GROUP BY CODE, NAME
8 /