Oracle按各科平均成绩从低到高和及格率的百分数从高到低排序

本文介绍了一条 Oracle SQL 语句的实现方法,该语句能够按各科平均成绩从低到高排序,并同时按及格率的百分比从高到低排序。此 SQL 语句使用了 CASE WHEN 语句来计算及格率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.oracle语句

-- 按各科平均成绩从低到高和及格率的百分数从高到低排序 
select sc.cid as 课程id,avg(sc.score) as 平均成绩,
100*sum(case when sc.score>=60 then 1 else 0 end)/count(1)||'%' as 及格率
from sc
group by sc.cid
order by avg(sc.score),
sum(case when sc.score>=60 then 1 else 0 end)/count(1) desc;

2.效果图

好的,这是一个计算类问题,针对这个问题,我可以提供帮助。 以下是 Java 程序的代码示例,可以得到所需的统计结果。请注意,这是一个简单的示例程序,具体的实现方式可能会根据具体要求而有所不同。 ```java import java.util.Scanner; import java.util.Arrays; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 输入学生人数 System.out.print("请输入学生人数:"); int n = scanner.nextInt(); // 输入每个学生的成绩 int[] scores = new int[n]; for (int i = 0; i < n; i++) { System.out.print("请输入第 " + (i + 1) + " 个学生的成绩:"); scores[i] = scanner.nextInt(); } // 计算总分、平均分、最分和合格人数 int sum = 0; int max = scores[0]; int passCount = 0; for (int i = 0; i < n; i++) { sum += scores[i]; if (scores[i] > max) { max = scores[i]; } if (scores[i] >= 60) { passCount++; } } double average = (double) sum / n; // 输出统计结果 System.out.println("总分:" + sum); System.out.println("平均分:" + average); System.out.println("最分:" + max); System.out.println("合格人数:" + passCount); // 从排序并输出 Arrays.sort(scores); System.out.print("从排序:"); for (int i = 0; i < n; i++) { System.out.print(scores[i] + " "); } System.out.println(); // 从排序并输出 int[] reversedScores = new int[n]; for (int i = 0; i < n; i++) { reversedScores[i] = scores[n - i - 1]; } System.out.print("从排序:"); for (int i = 0; i < n; i++) { System.out.print(reversedScores[i] + " "); } System.out.println(); } } ``` 希望这个程序能够帮到你,如果你有其他的问题或需求,欢迎随时向我提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kenick

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值