酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

查询20岁的所有有选课的学生的学号、姓名、平均成绩(avg_score,此为列名,下同)(平均成绩四舍五入到个位)、总成绩(sum_score)。如果一门课选两次以上,只计算最高成绩那一次。 test6_05有四个列,并且列名必须是:sid、name、avg_score、sum_score。通过下面方式实现列名定义: create or replace view test6_05 as select sid,name,(表达式) avg_score,(表达式) sum_score from ……

```sql CREATE OR REPLACE VIEW test6_05 AS SELECT sid, name, ROUND(AVG(CASE WHEN rn = 1 THEN score END), 0) AS avg_score, SUM(CASE WHEN rn = 1 THEN score END) AS sum_score FROM ( SELECT sid, name, score, ROW_NUMBER() OVER (PARTITION BY sid, cid ORDER BY score DESC) AS rn FROM student_course ) t WHERE rn = 1 GROUP BY sid, name; ``` [2024-10-21 00:46:57 | AI写代码神器 | 116点数解答]
相关提问