Sql分組查詢學生平均成績和行專列列轉行

--創建一個學生表
create table Stu
(
    ID int primary key identity,
	Name varchar(50),
	Course varchar(50),
	Score int
)



--分組查詢平均成績
select Name 姓名,Course 科目,Avg(Score) 平均成績 from Stu Group By Name,Course

在這裏插入圖片描述

--行專列查詢平均成績
select Name 姓名,Avg(語文) as 語文,avg(數學) as 數學, avg(物理) as 物理 from Stu
pivot (avg(Score) for Course in (語文,數學,物理)) as T group by Name

在這裏插入圖片描述

--創建一個視圖
alter view V_Stu
as
select Name 姓名,Avg(語文) as 語文,avg(數學) as 數學, avg(物理) as 物理 from Stu
pivot (avg(Score) for Course in (語文,數學,物理)) as T group by Name


--列轉行
select * from V_Stu unpivot (Score for Course in (語文,數學,物理)) as T

在這裏插入圖片描述

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