orcle数据库,下图excle是数据库表记录,另一个是创建视图语句的效果,怎么创建一个sql语句
orcle数据库,下图excle是数据库表记录,另一个是创建视图语句的效果,怎么创建一个sql语句能让视图显示成这个效果?前面几列我会,最后一列等级不会,最后3行最高分,...
orcle数据库,下图excle是数据库表记录,另一个是创建视图语句的效果,怎么创建一个sql语句能让视图显示成这个效果?前面几列我会,最后一列等级不会,最后3行最高分,最低分,平均分也不会怎么拼接上去
展开
1个回答
展开全部
orcle 语法不清楚,给你mysql的
应该大同小异? 都是一个Oracle公司的
具体你的表是啥 我就不知道了
我只说语法。
1 关于 及格不及格 需要过程存储,先定义一个 判断分数对应等级的 方法:
create procedure proc_getGrade
( in
p_scores int(11),
out result varchar(10)
)
BEGIN
declare result varchar(10);
if p_scores>=90 then
set result ='优秀';
else if p_scores>=80 and p_scores<90 then
set result ='良好';
else if p_scores>=60 and p_scores<80 then
set result ='及格';
else
set result ='不及格';
end if;
END
调用时候
取得值 call proc_getGrade('传入成绩') 就可以了。
反正需要过程存储。
2关于最大、最下值
假设 你返回的 所有 这些成绩 为 select `scores` from 什么表
那么,返回全班最低分 就是 select min(`scores`) from `什么表`
以下类似:
最小值 函数 min();
最大值 max( ) ;
3全班平均分
平均值 avg();
应该大同小异? 都是一个Oracle公司的
具体你的表是啥 我就不知道了
我只说语法。
1 关于 及格不及格 需要过程存储,先定义一个 判断分数对应等级的 方法:
create procedure proc_getGrade
( in
p_scores int(11),
out result varchar(10)
)
BEGIN
declare result varchar(10);
if p_scores>=90 then
set result ='优秀';
else if p_scores>=80 and p_scores<90 then
set result ='良好';
else if p_scores>=60 and p_scores<80 then
set result ='及格';
else
set result ='不及格';
end if;
END
调用时候
取得值 call proc_getGrade('传入成绩') 就可以了。
反正需要过程存储。
2关于最大、最下值
假设 你返回的 所有 这些成绩 为 select `scores` from 什么表
那么,返回全班最低分 就是 select min(`scores`) from `什么表`
以下类似:
最小值 函数 min();
最大值 max( ) ;
3全班平均分
平均值 avg();
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询