学生成绩大于这科学生的平均成绩
1. 找出每个学生超过他选修课程平均成绩的课程号 书上有个例子:
貌似只能这么做吧,,
SQL 没有存储功能,所以,每次都要求一下平均数,
2. 如何统计excel成绩表中的平均成绩大于等于90分学生的人数呢
1、打开Excel。
3. 这样怎么求、用函数统计男、女学生各科成绩大于平均分的人数(练习里没有要求平均分的)用什么函数求
在L3单元格输入以下公式,然后向下向右填充公式
=COUNTIFS($C:$C,$K3,D:D,">"&AVERAGE(D:D))
4. SQL查询计算机系平均成绩大于85分的学生的学号和平均成绩.(用派生查询)
select student.sdept,avg(sc.grade) from student,sc where student.sdept=sc.sdept group by student.sdept having avg(sc.grade)>85
5. 查询表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))
6. c语言 循环结构编程 输入若干个学生成绩, 若输入数据大于100或小于0则循环结束, 最后求成绩的平均值
#include<stdio.h>
#defineARR_LEN50/*数组长度*/
intmain(void){
intcount,i;
floatscore[ARR_LEN],sum,average;
puts("请分别输入每个学生的成绩:内");
count=i=sum=0;
while(1){
容printf("第%d个学生:",i+1);
scanf("%f",&score[i]);
if(score[i]<=100&&score[i]>=0){/*成绩输入合法*/
sum+=score[i];/*累加求总分*/
i++;/*计数器+1*/
}
else{/*成绩输入非法*/
count=i;/*记录成绩合法的学生人数*/
printf("成绩输入完成!共%d名学生。 ",count);
break;/*结束循环*/
}
}
average=sum/count;
printf(" %d名学生的平均分为:%.2f ",count,average);
getch();/*屏幕暂留*/
return0;
}
运行结果
7. 求解: sql 数据库 检索各科成绩均大于等于该科平均成绩的学生的学号和姓名
CREATE TABLE #学生表(
学生号 INT,
姓名 VARCHAR(10),
性别 VARCHAR(2),
年龄 INT
);
CREATE TABLE #课程表 (
课程号 INT,
课程名 VARCHAR(10)
);
CREATE TABLE #成绩表(
学生号 INT,
课程号 INT,
成绩 INT
);
INSERT INTO #学生表
SELECT 1, '张三', '男', 16 UNION ALL
SELECT 2, '李四', '男', 17 UNION ALL
SELECT 3, '王五', '女', 16 UNION ALL
SELECT 4, '赵六', '女', 17 UNION ALL
SELECT 5, '田七', '女', 18
;
INSERT INTO #课程表
SELECT 1, '语文' UNION ALL
SELECT 2, '数学' UNION ALL
SELECT 3, '外语'
;
-- 张三全部 超过平均。
-- 李四全部 低于平均。
-- 王五 赵六 部分高于,部分低于
-- 田七 少考一门,其它超过平均
INSERT INTO #成绩表
SELECT 1, 1, 85 UNION ALL
SELECT 1, 2, 85 UNION ALL
SELECT 1, 3, 85 UNION ALL
SELECT 2, 1, 75 UNION ALL
SELECT 2, 2, 75 UNION ALL
SELECT 2, 3, 75 UNION ALL
SELECT 3, 1, 85 UNION ALL
SELECT 3, 2, 75 UNION ALL
SELECT 3, 3, 85 UNION ALL
SELECT 4, 1, 75 UNION ALL
SELECT 4, 2, 85 UNION ALL
SELECT 4, 3, 75 UNION ALL
SELECT 5, 1, 83 UNION ALL
SELECT 5, 2, 83
;
SELECT
#学生表.学生号,
#学生表.姓名
FROM
#学生表
WHERE
NOT EXISTS(
SELECT
1
FROM
(
SELECT
课程号,
AVG(成绩) AS 平均成绩
FROM
#成绩表 a
GROUP BY
课程号
) AS 平均成绩表
LEFT JOIN #成绩表
ON (平均成绩表.课程号 = #成绩表.课程号
AND 平均成绩表.平均成绩 < #成绩表.成绩
AND #成绩表.学生号 = #学生表.学生号)
WHERE
学生号 IS NULL
);
学生号 姓名
----------- ----------
1 张三
(1 行受影响)
8. c语言:输入10个学生的成绩,求学生的平均成绩,并统计超过平均分数的学生人数
#include <stdio.h>
#include <malloc.h>
int max,min,k=0; float aver=0;
void f(int *p1,int *p0,int n)
{
i;p1=p0; float s=0;
for(i=0;i<n;i++) s+=*p1++;
aver=s/n;
max=0;min=100;p1=p0;
for(i=0;i<n;i++) {if(*p1>max) max=*p1;p1++;} p1=p0;
for(i=0;i<n;i++) {if(*p1<min) min=*p1;p1++;} p1=p0;
for(i=0;i<n;i++) {if(*p1>aver) k++ ;p1++;} p1=p0;
}
void main()
{
int *p,n,i;
printf("请输入班级总人数:\n") ;
scanf("%d",&n);
p=(int*)malloc(n*sizeof(int));
if(!p) return;
int *p0;p0=p;
printf("请在此输入各学生成绩:\n");
for(i=0;i<n;i++) scanf("%d",p++);
f(p,p0,n);
printf("平均分数:%3f\n",aver);
printf("最高分:%3d\n",max);
printf("最低分:%3d\n",min);
printf("超过平均分的人数:%3d\n",k);
free(p);
}
9. C语言:输入10个学生的单科成绩,求出其中的最高分、最低分以及超过平
#include <stdio.h>
int main()
{
int i;
float a[10],min,max,avg; //max表示最高分,表示最低分,avg表示平均分
printf("请输入10位学生的分数 ");
printf("******************************** ");
for(i=0;i<=9;i++)
{
printf("请输入一位学生的分数:");
scanf("%f",&a[i]);
}
max=min=avg=a[0];
for(i=1;i<=9;i++)
{
if(min>a[i])
{min=a[i];}
if(max<a[i])
{max=a[i];}
avg=avg+a[i];
}
avg=avg/10;
printf("max=%f ",max);
printf("min=%f ",min);
printf("max=%f ",avg);
printf("******************************** ");
}
(9)学生成绩大于这科学生的平均成绩扩展阅读:
main函数用法
1、C++中的main函数
C++继承了C语言的大部分特性,因此保留了“程序总是从main函数开始执行,且总是默认从main函数的return语句或结尾处结束运行”这一传统,但是要注意,C++中的main函数要想作为程序执行的出入口,必须写在全局(Global)范围,
不能写成某个结构体或某个类的成员。虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能。
C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。
2、Java中的main函数
Java同样是以main函数作为程序执行出入口的,但Java作为“更纯洁”的面向对象语言,它的main函数与C/C++有很大的不同。
首先,返回值的概念淡化,在Java Application中main不允许返回值,因此int main是被禁止的,必须使用void main,int main仅限在JavaBean中使用。
其次,Java中所有的函数必须属于类,没有什么全局函数一说,因此main函数不能是全局成员,必须是某个类的成员。
第三,由于main函数变成了类的成员函数,因此要想直接被系统调用,还必须使用public static使其成为静态函数并具有公开权限。
第四,main函数的参数被简化,只需要提供字符串数组即可,不需要提供参数个数(这是由于Java的数组具有下标检查功能的原因)
Java Application中的main函数一般格式如下(类名可以自定义,但保存为Java源码时,主文件名必须与类名相同,否则可能无法运行)
public class MainDemo{
public static void main(String[]args){
//TODO:在此处写入主函数的内容
}
}
Java Applet的运行机制与Java Application完全不同,因此不需要main函数
3、C#中的main函数
C#中的main函数与Java大同小异,同样必须是类成员,同样使用字符串数组作唯一参数,同样是静态函数,同样的void main,
与之不同的是:main的首字母变成了大写,即"Main函数“,且是否限定为public级别已经无所谓了(默认没有public,但某些场合可能还是需要public)
另外,需要注意的是,C#中不再有”类名必须与主文件名同名“的限制,即使类名不和主文件名相同,程序照样可以运行。
C#应用程序中的main函数默认是这样的(注意main的首字母已是大写)
C#和C/C++、java不同的是C#不在拘泥于必须从main()函数开始执行,C#是属于事件触发。
class Program{
static void Main(string[]args){
10. 怎么查询 两科成绩都大于80的学生信息(sql)
select * from t_testscore group by name having min(score)>80;
t_testscore 是被查询的表名,name是学生姓名,score是成绩。
HAVING 子句可以让我们筛选分组后的各组版数据。
按名字分组,权然后每个学生最低的分数都大于80,即可得到两科成绩都大于80的学生信息。
(10)学生成绩大于这科学生的平均成绩扩展阅读:
数据记录统计函数:
AVG(字段名) 得出一个表格栏平均值
COUNT(*;字段名) 对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名) 取得一个表格栏最大的值
MIN(字段名) 取得一个表格栏最小的值
SUM(字段名) 把数据栏的值相加
引用以上函数的方法:
sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
set rs=conn.excute(sql)
用 rs("别名") 获取统计的值,其它函数运用同上。
查询去除重复值:select distinct * from table1