查询各课程的平均成绩并按成绩降序排列

Selectcno,avg(grade)fromscgroupbycnoandorderbyavg(grade)desc为什么会出错... Select cno,avg(grade) from sc group by cno and order by avg(grade) desc为什么会出错 展开
 我来答
dayinspring
高粉答主

推荐于2017-11-25 · 繁杂信息太多,你要学会辨别
知道大有可为答主
回答量:2.3万
采纳率:92%
帮助的人:3567万
展开全部
一、语句为:
SELECT S.学号,姓名,AVG(成绩)平均成绩 FROM S,SC
WHERE S.学号=SC.学号
GROUP BY S.学号 HAVING COUNT(*)>5 ORDER BY 3 DESC

二、注意要点:
1)题目要求查询平均成绩,表中不存在“平均成绩”字段,需要使用VAG函数。
2)学生表student和成绩表score都含有“学号”字段,在查询时需指明学号属于哪个表。
3)GROUP BY短语对于查询结果进行分组,后跟随HAVING短语来限定分组必须满足查询选修课在5门以上的学生,必须在分组后再统计,所以CONM(大)>S应在HAVING后。
大雅江源
2018-12-09
知道答主
回答量:4
采纳率:0%
帮助的人:3516
展开全部
SQL指令:

SELECT stu.name,a4.java,a4.mysql,a4.html,a4.`总成绩` from
(select a.stu_id,a.score 'java',a1.score 'mysql',a2.score 'html',a3.sum1 '总成绩' from
(select sc.score,sc.stu_id from score sc where sc.subject_id=10001) a
LEFT JOIN
(select sc.score,sc.stu_id from score sc where sc.subject_id=10002) a1
on a.stu_id = a1.stu_id LEFT JOIN
(select sc.score,sc.stu_id from score sc where sc.subject_id=10003) a2
on a1.stu_id=a2.stu_id
LEFT JOIN (SELECT sum(sc.score) sum1 ,sc.stu_id from score sc GROUP BY sc.stu_id) a3
on a2.stu_id = a3.stu_id
ORDER BY a3.sum1 desc) a4
LEFT JOIN student stu on a4.stu_id = stu.id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-17
展开全部
Select cno,avg(grade)
from sc
group by cno
order by avg(grade) desc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-17
展开全部
Select cno,avg(grade) avg_grade from sc group by cno and order by avg_grade desc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
193******23
2023-04-06
知道答主
回答量:1
采纳率:0%
帮助的人:254
展开全部
你把and去掉就没问题了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式