2022-06-02
閱讀量:
560
一道根據(jù)行內(nèi)容創(chuàng)建新列的SQL題,要求對學(xué)生成績進行等級判斷并輸出給定的表格示例
給定數(shù)據(jù)如下,
create table stuscore
(sname varchar(10) ,course varchar(10) ,score int);
insert into stuscore values
('ZS','語文',90),
('ZS','數(shù)學(xué)',89),
('李四','語文',86),
('李四','英語',84),
('李四','數(shù)學(xué)',75),
('ZS','英語',56);
#要求對學(xué)生成績進行等級判斷,大于等于80,優(yōu)秀;大于等于60,及格;小于60,不及格。并輸出下面的給定表格示例:
# 姓名 語文 數(shù)學(xué) 英語
# ZS 優(yōu)秀 優(yōu)秀 不及格
# 李四 優(yōu)秀 及格 優(yōu)秀
代碼:
use cda; create table stuscore (sname varchar(10) ,course varchar(10) ,score int); insert into stuscore values ('ZS','語文',90), ('ZS','數(shù)學(xué)',89), ('李四','語文',86), ('李四','英語',84), ('李四','數(shù)學(xué)',75), ('ZS','英語',56); #1,要求對學(xué)生成績進行等級判斷,大于等于80,優(yōu)秀;大于等于60,及格;小于60,不及格。 #并輸出下面的給定表格示例: # 姓名 語文 數(shù)學(xué) 英語 # ZS 優(yōu)秀 優(yōu)秀 不及格 # 李四 優(yōu)秀 及格 優(yōu)秀 select sname, case when 語文成績>=80 then "優(yōu)秀" when 語文成績>=60 and 語文成績=80 then "優(yōu)秀" when 數(shù)學(xué)成績>=60 and 數(shù)學(xué)成績=80 then "優(yōu)秀" when 英語成績>=60 and 英語成績<80 then "及格" else "不及格" end as 英語 from ( select sname, sum(if(course='語文',score,null)) 語文成績, sum(if(course='數(shù)學(xué)',score,null)) 數(shù)學(xué)成績, sum(if(course='英語',score,null)) 英語成績 from stuscore group by sname) t; select sname, sum(if(course='語文',score,null)) 語文成績, sum(if(course='數(shù)學(xué)',score,null)) 數(shù)學(xué)成績, sum(if(course='英語',score,null)) 英語成績 from stuscore group by sname;
學(xué)習(xí)更多數(shù)據(jù)分析知識歡迎訪問 http://www.3lll3.cn/member.html?utm_source=weitao






評論(0)


暫無數(shù)據(jù)
推薦帖子
0條評論
1條評論
0條評論