资源描述:
《sql统计-关于学生成绩》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、sql统计-关于学生成绩学生成绩表(stuscore):姓名:name课程:subject分数:score学号:stuid张三数学891张三语文801张三英语701李四数学902李四语文702李四英语802创建表SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOSETANSI_PADDINGONGOCREATETABLE[dbo].[stuscore]([name][varchar](50)COLLATEChinese_PRC_CI_ASNULL,[subject][varchar](50)COLLAT
2、EChinese_PRC_CI_ASNULL,[score][int]NULL,[stuid][int]NULL)ON[PRIMARY]GOSETANSI_PADDINGOFF问题:1.计算每个人的总成绩并排名(要求显示字段:姓名,总成绩)2.计算每个人的总成绩并排名(要求显示字段:学号,姓名,总成绩)3.计算每个人单科的最高成绩(要求显示字段:学号,姓名,课程,最高成绩)4.计算每个人的平均成绩(要求显示字段:学号,姓名,平均成绩)5.列出各门课程成绩最好的学生(要求显示字段:学号,姓名,科目,成绩)6.列出各门课程成绩最好的两位学
3、生(要求显示字段:学号,姓名,科目,成绩)7.统计如下:学号姓名语文数学英语总分平均分8.列出各门课程的平均成绩(要求显示字段:课程,平均成绩)9.列出数学成绩的排名(要求显示字段:学号,姓名,成绩,排名)10.列出数学成绩在2-3名的学生(要求显示字段:学号,姓名,科目,成绩)11.求出李四的数学成绩的排名12.统计如下:课程不及格(0-59)个良(60-80)个优(81-100)个13.统计如下:数学:张三(50分),李四(90分),王五(90分),赵六(76分)答案:1.计算每个人的总成绩并排名selectname,sum(sc
4、ore)asallscorefromstuscoregroupbynameorderbyallscore2.计算每个人的总成绩并排名selectdistinctt1.name,t1.stuid,t2.allscorefromstuscoret1,(selectstuid,sum(score)asallscorefromstuscoregroupbystuid)t2wheret1.stuid=t2.stuidorderbyt2.allscoredesc3.计算每个人单科的最高成绩selectt1.stuid,t1.name,t1.sub
5、ject,t1.scorefromstuscoret1,(selectstuid,max(score)asmaxscorefromstuscoregroupbystuid)t2wheret1.stuid=t2.stuidandt1.score=t2.maxscore4.计算每个人的平均成绩selectdistinctt1.stuid,t1.name,t2.avgscorefromstuscoret1,(selectstuid,avg(score)asavgscorefromstuscoregroupbystuid)t2wheret1.
6、stuid=t2.stuid5.列出各门课程成绩最好的学生selectt1.stuid,t1.name,t1.subject,t2.maxscorefromstuscoret1,(selectsubject,max(score)asmaxscorefromstuscoregroupbysubject)t2wheret1.subject=t2.subjectandt1.score=t2.maxscore6.列出各门课程成绩最好的两位学生selectdistinctt1.*fromstuscoret1wheret1.stuidin(sel
7、ecttop2stuscore.stuidfromstuscorewheresubject=t1.subjectorderbyscoredesc)orderbyt1.subject7.学号姓名语文数学英语总分平均分selectstuidas学号,nameas姓名,sum(casewhensubject='语文'thenscoreelse0end)as语文,sum(casewhensubject='数学'thenscoreelse0end)as数学,sum(casewhensubject='英语'thenscoreelse0end)as
8、英语,sum(score)as总分,(sum(score)/count(*))as平均分fromstuscoregroupbystuid,nameorderby总分desc8.列出各门课程的平均成绩selectsubje