当前位置:首页 » 考试成绩 » 查询及格学生的平均成绩

查询及格学生的平均成绩

发布时间: 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