查詢班級中及格,一般,優秀的人數的sql語句

2021-05-22 09:42:00 字數 708 閱讀 5540

select a.classname,a.coursename,sum(不及格) as 不及格,sum(差) as 差,sum(中等) as 中等,sum(好) as 好 ,sum(不及格)+sum(差)+sum(中等)+sum(好) as 班級總人數 from (select studentid,classname,coursename,1 as 不及格,0 as 差,0 as 中等,0 as 好 from studentscore where scoreremark='fail' union all

select studentid,classname,coursename,0 as 不及格,1 as 差,0 as 中等,0 as 好 from studentscore where scoreremark='low' union all

select studentid,classname,coursename,0 as 不及格,0 as 差,1 as 中等,0 as 好 from studentscore where scoreremark='medium' union all 

select studentid,classname,coursename,0 as 不及格,0 as 差,0 as 中等,1 as 好 from studentscore where scoreremark='good'  )a group by classname,coursename

在這裡需要注意的是要給某些欄位加別名以示區別!

一張表中, 查詢學生及格和不及格人數

表結構為 class name score 班級 姓名 分數 查詢每個班級中,及格和不及格學生的人數 select class sum case when score 60 then 1 else 0 end as gt60,sum case when score 60 then 0 else 1 ...

一般的查詢載入

1.查詢重寫技術 1 不要引用索引列在乙個表示式。這樣將阻止使用索引列。代替是應該在比較的邊使用盡可能的。加入乙個表t包含乙個date d列。如下 select from t where year 1884代替使用select from t where d 1994 01 01 2.索引是特別有用的...

查詢優化的一般準則

1.選擇運算應盡量先做。最重要,最基本的一條。2.執行連線前應對關係適當的預處理。student 與 sc 進行自然連線 a.索引連線 a.1.在表sc上建立sno索引。a.2 對student組中的每乙個元組,有sno值通過sc的索引查詢相應的sc元組 a.3 把student和sc連線起來 b....