SQL 練習題 17題

2021-09-25 06:16:38 字數 743 閱讀 7134

統計各科成績各分數段人數:課程編號,課程名稱,[100-85],[85-70],[70-60],[60-0] 及所佔百分比

有時候覺得自己真是死腦筋。group by以後的查詢結果無法使用別名,所以不要想著先單錶group by計算出結果再從第二張表裡添上課程資訊,而應該先將兩張表join在一起得到所有想要的屬性再對這張總表進行統計計算。這裡就不算百分比了,道理相同。

注意一下,用case when 返回1 以後的統計不是用count而是sum

select course.cname, course.cid,

sum(case when sc.score<=100 and sc.score>85 then 1 else 0 end) as "[100-85]",

sum(case when sc.score<=85 and sc.score>70 then 1 else 0 end) as "[85-70]",

sum(case when sc.score<=70 and sc.score>60 then 1 else 0 end) as "[70-60]",

sum(case when sc.score<=60 and sc.score>0 then 1 else 0 end) as "[60-0]"

from sc left join course

on sc.cid = course.cid

group by sc.cid;

SQL 練習題 04題

查詢所有同學的學生編號 學生姓名 選課總數 所有課程的成績總和 聯合查詢不會顯示沒選課的學生 select student.sid,student.sname,r.coursenumber,r.scoresum from student,select sc.sid,sum sc.score as s...

SQL趣味練習題

第一中情況 create table renwu name varchar 20 not null,fahter varchar 20 insert into renwu values 小甲 大甲 insert into renwu values 大甲 老甲 insert into renwu na...

SQL基礎練習題

sql 基礎入門50題 1.選擇分數介於85 100,70 85,60 70,0 60分數段之間的人數,課程標號,課程名稱和所佔百分比 select distinct f.c name,a.c id,b.85 100 b.百分比,c.70 85 c.百分比,from score a left joi...