當前位置:首頁 » 考試成績 » 查詢及格學生的平均成績

查詢及格學生的平均成績

發布時間: 2020-12-11 12:02:00

A. ACCESS查詢學生選課平均成績中及格的學生

第三列的總計行不對
不應該選擇 group by 應該選擇 where

B. 資料庫題目: 建立存儲過程,其功能是查詢給定學號的學生的課程平均成績(必做)、選修課程的門數和不及格

主要問題是存儲過程主體缺少begin 和 end 語句,使得後面的測試語句也被編譯成了存儲過程專的主體,從而造成了遞歸(屬存儲過程調用自己)。
alter procere 學生信息
@snum varchar(4),
@AvgScore int OUTPUT,
@CourseNum int OUTPUT,
@NotpassNum int OUTPUT
AS
BEGIN
Select @AvgScore = Avg(Score) From SC Where SC.snum = @snum
Select @CourseNum = Count(*) From SC Where SC.snum = @snum
Select @NotpassNum = Count(*) From SC Where SC.snum = @snum and score<60
END

另外,分號是SQL語句的結束符,不明白為什麼有存儲過程名後面會緊跟著一個分號。

C. C語言程序,請你編寫一個程序計算每個學生的平均成績

#include&lt;stdio.h&gt;

void main()

{

float a[10][10];//用來存放10名學生的5門成績,最後一位用於存放平均成績

int i,j;

float sum=0.0;

for(i=0;i&lt;10;i++)

{

printf("請輸入第%d個學生的5門成績",i+1);

for(j=0;j&lt;5;j++)

{

scanf("%f",&a&lt;i&gt;[j]);

sum=sum+a&lt;i&gt;[j];

}

a&lt;i&gt;[10]=sum/5.0;

}

printf("10名學生的成績及平均分 ");

for(i=0;i&lt;10;i++)

{

for(j=0;j&lt;10;j++)

printf("%.3f",a&lt;i&gt;[j]);

printf(" ");

}

}

(3)查詢及格學生的平均成績擴展閱讀:

printf的用法

格式

printf函數的原型為:

#include&lt;stdio.h&gt;

int printf(const char*format,...);

在講每一個函數的時候都會先把它的函數原型寫出來,這個原型你們現在看不懂不要緊,等到學完C語言之後再來看這個原型就會發現它是很有參考意義的!它對深刻理解函數有著很大的價值。

printf的格式有四種:

1)printf("字元串 ");

#include&lt;stdio.h&gt;

int main(void)

{

printf("Hello World! ");// 表示換行

return 0;

}

其中 表示換行的意思。它是一個轉義字元,前面在講字元常量的時候見過。其中n是「new line」的縮寫,即「新的一行」。

此外需要注意的是,printf中的雙引號和後面的分號必須是在英文輸入法下。雙引號內的字元串可以是英文,也可以是中文。

2)printf("輸出控制符",輸出參數);

純文本復制

#include&lt;stdio.h&gt;

int main(void)

{

int i=10;

printf("%d ",i);/*%d是輸出控制符,d表示十進制,後面的i是輸出參數*/

return 0;

}

D. 查詢表student(id,score,subject)中所有科目成績在60分以上的學生的平均分成績怎麼寫sql語句

應該有學生Id啊比如學生Id是stuid,這樣寫。
SELECTAVG(score)
FROMstudent
WHEREstuidIN(
SELECTstuid
FROMstudenta
WHERENOTEXISTS(SELECT1
FROMstudentb
WHEREa.stuid=b.stuid
ANDb.score<60))

E. 使用SQL SELECT語句查詢每個學生的平均成績,在線等。

你沒有告訴學生表和成績表的關聯欄位,假設是id。 select 學生.姓名,avg(成績回.成績) as 平均成績 into pinjun.dbf
from 學生答 inner join 成績 on 學生.id=成績.id
order by 學生.姓名

F. SQL求選修課程在兩門以上並且都及格的學生號及總平均分

我只會oracle的寫法,其他資料庫可能會有所區別,請注意。而且就算這種寫法,因為專無法實驗可能也有些出入,應屬該需要調試
select 學生號,avg(分數) from table where 分數>=60 group by 學生號 having count(*)>1

分數>60保證及格,這里首先查詢的是及格的學生,及格的學生如果count(*)>1,那麼他的選課一定是兩門或者兩門以上(我假定的選課表是一個學生一個課程一行)。不過這里有一個問題,假設一個學生選了三門課程,兩門及格一門不及格,那麼是不是需要統計,按照你的需求
「兩門以上並且都及格」,現在這個語句好像與你的要求不是那麼符合。
所以還有一個版本
select table.學生號,avg(table.分數) 平均分 from table,(select 學生號,count(*) 選課數 from table group by 學生號 having 選課數>1)a where table.分數>60 group by 學生號 having table.學生號=a.學生號 and a.選課數=count(*)

G. 查詢平均成績低於60分的學生學號、姓名及成績。

SELECT 學號,成績 FROM 成績表
WHERE 學生表.學號專 IN
(
SELECT 學號 FROM (
SELECT 成績屬表.學號,AVG(分數) AS AVGSCORE FROM 成績表
GROUP BY 學號
HAVING AVG(成績表.成績)<60
)A
)

H. 排錯SQL:列出有二門以上(含兩門)不及格課程的學生姓名及其平均成績

因為你按照s.sname分了組並且用了聚集函數avg(sc.scgrade),就必須用group by按照s.sname分組才行啊,如果select中沒專有s.sname,只有聚集函數avg(sc.scgrade)的話肯定屬就是對的,但是不符合你題目的要求了。下面這個就是對的了,因為除了聚集函數的選擇項都被分組了,在上面那個後面加上group by s.sname應該就對了,不過不知道sname是不是唯一鍵。
唉,也不知道自己說清楚沒,不清楚的可以發信問我。

I. 一個學生表和成績表,列出至少兩門以上不及格學生的名字和平均成績,怎麼寫

光有自學生表和成績表不行吧,我理解為有三個表S(學號s#,姓名sname,。。。)、C(課程號c#,課程名cname,。。。)、SC(學號s#,課程號c#,成績grade。。。)
select sname,avg(grade)
from s,sc
where s.s#=sc.s# and grade<60
group by sname
having by count(grade)>=2

J. mysql,查詢平均成績不及格的學生名單。。。

select avg(sx+yy+hx)/3<60 from tb_chengjibiao

修改為

select (sx+yy+hx)/3<60 from tb_chengjibiao

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919