任務9 P133 9.9.3獨立實踐

use JWGL_DB
go

--彙總人數
--(1)查詢學生的總人數
select COUNT(學生.學號) as "學生總人數"
from 學生

--(2)查詢所有學生所有課程成績的平均成績   (是否每門課程都要分類並統計它的平均成績?)

select 學號,(Sum(課程成績)/Count(distinct 課程編號)) as "所有學課程平均成績",Count(課程編號) as "課程總數"
from [學生_課程]
Group By 學號

--(3)查詢所有學生所有成績的總分

select 學號,SUM(課程成績) as "總分成績"
from [學生_課程]
Group By 學號
Order by 總分成績 asc

--(4)查詢所有學生成績的最高分和最低分
select 學號,Max(課程成績) as "最高分",MIN(課程成績) as "最低分"
from [學生_課程]
Group By 學號

--(5)查詢已經選課的學生的人數   (已經選課,是指必修還是選修)
select COUNT(distinct 學號) as "選課人數"
from [學生_課程]

--(6)查詢課程編號爲1001的課程成績低於60的學生人數
select 學號,課程成績
from [學生_課程]
where 課程編號='1001' and 課程成績<60

--2創建分組查詢
--(1)查詢每個選課了的學生的總成績、平均成績和學號,並按平均成績排序
select 學號,sum(課程成績) as 總成績,AVG(課程成績) as "平均成績"		--Avg()等效於SUM(課程成績)/COUNT(課程編號)
from [學生_課程]
Group By 學號
Order By 平均成績 desc			--降序desc   升序 asc

--(2)查詢不同課程的平均成績及課程編號,並按平均成績排序
select 課程編號,avg(課程成績) as "平均成績"
from [學生_課程]
Group By 課程編號

--(3)查詢已選課程的選課人數及課程編號
select count(distinct 學號) as "選課人數"
from [學生_課程]

--(4)查詢選課人數大於30的課程編號和選課人數
select 課程編號,COUNT(distinct 學號) as "選課人數"
from [學生_課程]
group by 課程編號
having COUNT(distinct 學號)>=6		--[n,11],n=課程編號,n1=0,n屬於z

--(5)查詢選修了兩門或兩門以上課程的學生的學號和課程編號   找記錄 再從記錄統計
select 學號,Count(學號) as "選修課程數>2或>=2的數量"
from [學生_課程]
group by 學號
having COUNT(學號)>=2

--(6)查詢成績低於60、選課人數大於30的課程編號和選課人數
select 課程編號,COUNT(課程編號) as 選課人數
from [學生_課程]
where 課程成績<60
group by 課程編號		--課程成績
having COUNT(課程編號)>0	--[n,3]

寫於2013-05-07-08:36

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章