gpt4 book ai didi

mysql - 从数据库中选择前 10 名学生

转载 作者:行者123 更新时间:2023-11-29 03:53:11 28 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
sql to select top 10 records

假设您有一个包含 StuId、StuName、Subject、Grade 的表。您需要提供一个子查询以返回荣誉学生列表(前 10%),按他们的平均成绩排序。

例如,如果我有 10 个平均成绩为 100,90,80,...10 的学生。要求输出第一个平均分是100的学生姓名,只输出一个学生的成绩。所以我不能使用限制 10

我正在使用 mysql 5.1。

这是我的查询:

SELECT Stuname, TOP 10 Avg(Grade) as GPA 
FROM Table
GROUP BY Stuid
ORDER BY GPA

由于 TOP 10,查询不正确。查看MYSQL 5.1 reference,不支持top 10。

根据评论,我认为使用一个查询无法解决,所以我想出了一个方法:

F(conn){
Statement stmt;
int top10percnet = 0;
try{
stmt = conn.createStatement;
String query = "select CEIL(count(stuname)*10/100) as 10percent from grades";
ResultSet rs = stmt.execute(query);
while(rs.next()){
top10percent = rs.getString("10percent");
}
query = "select stuname, avg(grade) as average from grades group by stuname order
by average desc limit " + Integer.toString(top10percnet);
rs=stmt.execute(query);
while(rs.next()){
...// output result
}
}
catch(SQLException e){
}



}

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com