A. 分別統計及格及不及格的總人數用sql語句
這里提供一個各種資料庫都通用的寫法供參考
假設數據表結構為:
分數表(姓名,分數)
selectcount(t.p)as格及總人數,count(t.f)as不格及總人數
from(
select1asp,0asffrom分數表where分數>=60
unionall
select0,1from分數表where分數<60)t;
B. 使用SQL命令實現查詢,查詢平均分不及格的學生人數。怎麼寫啊
已知:
選課表(學號,課程編號,成績)
查詢平均分不及格的學生人數的SQL代碼:
select 平均分不及格的學生人數 = count(*)
from 選課表
where 學號 in ( select 學號,avg(成績)
from 選課表
group by 學號
having avg(成績) < 60 )
C. 資料庫查詢不及格人數超過十人的課程的課程名,課程號和不及格人數
select cname,course.cno,count(*) 不及格人數
from course join sc on course.cno=sc.cno
where grade<60
group by cname,course.cno
having count(*)>10
D. SQL 查詢某門課程及格的總人數以及不及格的總人數以及沒成績的人數
1、創建測試表,
create table test_score(class_id varchar2(20), student_id varchar2(20), score number);
E. 資料庫語句,怎麼通過select count 查詢出相應課程不及格的人數
按課程號進行分組,統計不及格的人數即可
select 課程號,count(*) as 人數
from 成績表 where score<60 group by 課程號
如需要顯示課程名,再和課程表進行連接即可
F. SQL語句求助,查詢出每門課程及格和不及格的人數
---以下在SQL2005執行通過--
---結果將以 科目、及格數、不及格數 顯示
select * from
(select col2,count(*) as [及格數]
from tb
where col1>=60
group by col2
)t
outer apply
(select count(*) as [不及格數]
from tb
where col1<60 and t.col2= col2
group by col2
)m
-----這應該是樓主想要的了吧。