ORACLE 按顺序相加 判断结果

来源:百度知道 编辑:UC知道 时间:2024/05/21 13:17:51
有一个班的学生,课程有数学、语文、英语等。他们每个月考试一次。
这些成绩放在一个表中。要求把每个人的每门课程从一月开始相加,并找出部分大于900的那条记录:
例如:张三的数学成绩是:
order_number id name subject exam_date result
090001 001 张三 数学 1月 80
090003 001 张三 数学 2月 85
090005 001 张三 数学 3月 79
090007 001 张三 数学 4月 77
090008 001 张三 数学 5月 89
090009 001 张三 数学 6月 95
090010 001 张三 数学 7月 68
090011 001 张三 数学 8月 76
090012 001 张三 数学 9月 77
090013 001 张三 数学 10月 81
090015 001 张三 数学 11月 90
090016 001 张三 数学 12月 86
090017 002 张三 语文 1月 96
090018 001 张三 语文 12月 82

这个直接用SQL语句实现不了,要用存储过程来输入结果。

select id,name,sum(result) from 成绩表 group by name having sum(result)>900;

选出id、姓名和总分