学生按成绩
A. 按照人名查出学生的各科成绩以及总成绩并按总成绩排名的sql语句
按照人名查出学生的各科成绩以及总成绩并按总成绩排名的sql语句示例如下:
selectA.name ,
(selectB.scorefromtable_scoreBwhereB.type='数学'andA.id=B.id) as数学 ,
(selectB.scorefromtable_scoreBwhereB.type='语文'andA.id=B.id) as语文,
(selectB.scorefromtable_scoreBwhereB.type='英语'andA.id=B.id)as英语,
(selectSUM(B.score)fromtable_scoreBwhereA.id=B.id)assum_score
fromtable_studentAorderbysum_scoreDESC
以上sql语句首先把学生表和成绩表联合查出每个学生的数学、语文、英语成绩,然后通过selectSUM(B.score)fromtable_scoreBwhereA.id=B.id查出每个学生的总成绩。
最后orderbysum_scoreDESC实现按总成绩倒叙排列。
(1)学生按成绩扩展阅读
上述sql语句重点是对as关键字的使用- Alias(别名),通过使用 SQL,可以为列名称和表名称指定别名(Alias)。
表的 SQL Alias 语法
SELECT column_name(s) FROM table_name AS alias_name;
列的 SQL Alias 语法
SELECT column_name AS alias_name FROM table_name;
Alias 实例: 使用表名称别名
假设我们有两个表分别是:"Persons" 和 "Proct_Orders"。我们分别为它们指定别名 "p" 和 "po"。
现在,我们希望列出 "John Adams" 的所有定单。
我们可以使用下面的 SELECT 语句:
SELECT po.OrderID, p.LastName, p.FirstName FROM Persons AS p, Proct_Orders AS poWHERE p.LastName='Adams' AND p.FirstName='John'
B. C语言~输入5个学生的学号,成绩,按成绩排序(升序),查找90分以上的
代码:
#include<stdio.h>
struct student
{
int num,score[3],age;
char name[20];
float aver;
}stu[1000];
main()
{
int i,j,n;
struct student temp;
/*注意:变量temp的类型与数组stu的元素类型为相同结构体的时候,才可交换两个结构体数组元素,所以此处需要定义temp的类型*/
printf("请输入学生人数: ");
scanf("%d",&n);
printf("请按顺序输入名字、学号、年龄、分数: ");
for(i=0;i<n;i++)
{
scanf("%s",&stu<i>.name);
scanf("%d",&stu<i>.num);
scanf("%d",&stu<i>.age);
for(j=0;j<3;j++)
scanf("%d",&stu<i>.score[j]);
}
for(i=0;i<n;i++)
{int sum=0;
for(j=0;j<3;j++)
sum+=stu<i>.score[j];
stu<i>.aver=sum/3.0;
}
for(i=0;i<n-1;i++)/*利用冒泡排序法按平均分高低排序*/
{for(j=0;j<n-i-1;j++)
{
if(stu[j].aver>stu[j+1].aver)
{temp=stu[j];/*此处交换的应当是数组元素,而不是平均分*/
stu[j]=stu[j+1];
stu[j+1]=temp;
}
}
}
printf("学生信息如下(姓名、学号、年龄、成绩、平均分): ");
for(i=0;i<n;i++)
{
printf("%s%d%d",stu<i>.name,stu<i>.num,stu<i>.age);
for(j=0;j<3;j++)
printf("%d",stu<i>.score[j]);
printf("%.2f ",stu<i>.aver);
}
}
(2)学生按成绩扩展阅读:
头文件#include<stdio.h>中
stdio.h是stand input&output的缩写,意思是标准输入输出头文件。凡是用到标准输入输出函数,就要调用该头文件。
查看stdio.h目录下包含哪些函数:主要有文件访问、二进制输入/输出、格式化和非格式化输入/输出、文件定位、错误处理、文件操作等。
具体打开自己的VS安装目录,找到include文件夹,打开include夹下面的stdio.h文件即可查看
(C:Program Files(x86)Microsoft Visual Studio 14.-1.1.10include)
常用标准输入输出函数:
scanf()从屏幕格式输入
printf()格式输出到屏幕
getchar()从屏幕得到一个字符
putchar()字符输出到屏幕
gets()从屏幕得到一个字符串
puts()字符串输出到屏幕
fscanf()从磁盘格式输入
fprintf()格式输出到磁盘
fgetc()从磁盘得到一个字符
fputc()字符输出到磁盘
fgets()从磁盘得到一个字符串
fputs()字符串输出到磁盘
#号是预处理语句,表明在编译之前预先进行处理。
.h是header file的缩写,表面这是一个头文件。
include是文件包含命令,后面跟着引号""或者尖括号<>,意思是将引号或尖括号内指定的文件包含到本程序中,成为本程序的一部分,而包含的文件通常是由系统提供的。
C. 学校对学生按成绩进行分层次班,你怎么看
我觉得这是一件非常不公平的事情,这么一来,很显然会打击成绩差的学生的自信心,好像是被学校放弃了一样。
D. 编写成绩排序程序。按学生的序号输入学生的成绩,按照分数由高到低的顺序输出学生
#include<iostream.h>
struct
std
//定义学生结构体,包含学好number,成绩score,名次mc
{
int
number;
int
score;
int
mc;
};
#define
N
100
int
main()
{
int
i,j,max,num;
static
int
t=1;
struct
std
stent[N],temp;
cin>>max;
for(i=0;i<max;i++)
{
cin>>stent[i].number;
cin>>stent[i].score;
}
for(i=0;i<max-1;i++)
//冒泡法排序,从高分到低分
{
for(j=0;j<max-i;j++)
if(stent[j].score<stent[j+1].score)
{
temp=stent[j];
stent[j]=stent[j+1];
stent[j+1]=temp;
}
}
for(i=0;i<max-1;i++)
//通过前面的冒泡法排序,已知成绩从高到低排序,就可以确定学生的名次,成绩相同,名次相同,否侧加一
{
if(stent[i].score>stent[i+1].score)
{
stent[i].mc=t++;
stent[i+1].mc=t;
}
else
if(stent[i].score=stent[i+1].score)
{
stent[i].mc=t;
stent[max-1].mc=t;
}
}
cout<<"
成绩
"<<"
学号
"<<"
名次
"<<endl;
for(i=0;i<max;i++)
cout<<"
"<<stent[i].score<<"
"<<
stent[i].number<<"
"<<stent[i].mc<<endl;
cout<<"******************************************************************************"<<endl;
for(i=1;i<=stent[max-1].mc;i++)
//输出相同名次的人数和学号,同名次的学号输出在同一行中,一行最多输出10个学号
{
num=0;
for(j=i-1;j<=max-1;j++)
{
if(i==stent[j].mc)
{
num++;
cout<<stent[j].number<<"
";
}
if(0==num%10)
cout<<endl;
}
cout<<"第"<<i<<"名有:"<<num<<"个"<<endl;
}
return
0;
}
E. excel如何将学生成绩按从大到小排列顺序
选中数据,“数据”-“排序”,把关键字设为成绩或成绩所在列(没标题行的时候就所在列)……确定,OK
F. excel根据学生各科成绩统计每个学生总分
1、打开EXCEL文件,输入每个学生的分数。
G. 学生是按成绩分班吗
你好,您问的问抄题太笼统了。不同袭地区,不同学校,不同年级会给出不同的答案。
一般来讲,按规定分班应该是随机的。但很多学校为了取得更好的成绩,会按成绩选拔“尖子生”,统一加快进度学习。
不管怎样,适合孩子的就是最好的。
H. 认为按学生成绩分班教学是利大于弊还是弊大于利
就读高中的时候,学生们的压力会比较大,大概到了高二的时候,很多学校都会分出“普通班”跟“重点班”,当年小编读的就是重点班,其实所谓的重点班,不过就是一些成绩好的人聚集在一起。那么今天的话题是:高中按学生成绩分重点班,是利大于弊,还是弊大于利?
首先来谈谈分班的好处
分重点班之后,学校就可以更好地实行“因材施教”,对于成绩好的学生,更能激发他们的潜能,或许在这个班级里,目标不再是普通的一本,而是985、211这些名牌大学。
对于老师来说,上课就会轻松更多,老师以前四十五分钟的一节课,至少有三十分钟是讲给那些基础比较差的学生听的,毕竟上课要照顾全部同学,讲课不能太快,要尽量让全班同学都能听懂每个细节。如果分了重点班,那么老师讲课就能跳过很多细节,多出了很多学习的时间,对于老师跟学生都是一个天大的好处。
最后肯定就是几率问题,在“重点班”里可能有差生,但是大家肯定都是想要学习的,平时老师也不用特别强调几率问题,可能老师不来上课,学生都能安静在教室里自习,学习氛围变好了,对于学生也是有好处的。
接着来谈谈分班的坏处
上面说到了重点班的学生都是爱学习的,不过正是有了这个班级,很多家长就会尽量把自己的孩子安排进这个班级,所以导致所谓的“重点班”,变成了普通的班级,老师依然是好老师,只不过教室里学生水平参差不齐,对于老师来说,教学又成为一个大问题。
最后聪明的家长可能会发现,只要孩子愿意学习,无论是在哪个班级,照样也有一个好未来,因为对于孩子来说,并不是老师的原因,而是他们愿不愿意努力,这一点希望家长可以知道。
I. 学生成绩表如何排名次
Excel2010工作表
01
数据排序法:
打开例表,先选中目标区域,再点击菜单栏"数据"按钮。如果只是对某单项成绩排序,那么只需选那一列单元格即可。如果要姓名和成绩一起排序,则要一起选。
02
在菜单栏"数据"按钮下,点击"排序"按钮,使弹出"排序"对话框。
03
弹出"排序"对话框后,在"主要关键字"文本框中选择需排序的科目,例如:总分;在"排序依据"文本框中选择"数值";在"次序"文本框中选择按升序、降序或者自定义排序,在这里我们选择"降序",也就是从高到低排名;选择完毕后点"确定"退出。
04
回到工作表中,就可以看到按降序排列总分的显示效果了。因为我们之前是"姓名"和"成绩"的区域一起选定的,所以最后"姓名"会伴随总分成绩一起排序。
05
数据筛选法:
打开例表,先选中目标区域,再点击菜单栏"数据"按钮。在菜单栏"数据"按钮下,点击"筛选"按钮。
06
在工作表中点开需排序科目(如:笔试成绩)的下拉三角按钮,然后点击升序或降序,这里我们选升序(即:从低到高排名),选择完毕点"确定"退出。
07
回到工作表中,就可以看到按升序排列筛选笔试成绩的显示效果了。
08
Rank函数排序法:
Rank函数是排名函数,语法公式是Rank(number,ref,[order],现在我们新增一列"名次"列,运用Rank函数来给总分排序。
09
先在F2单元格输入"=RANK",再输入Rank(number,ref,[order]中的number:
number指需要求排名的数值或单元格的名称,我们现在需要对E2单元格的成绩排序,所以在"=RANK"后面输入左括号和"E2"。
10
接下来,输入Rank(number,ref,[order]中的ref:
ref指的是参加排名的区域,在该工作表"总分"排名的区域是E2:E24,为了下拉填充数据时行列不错位,我们要对E2:E24加上绝对引用的符号。
11
最后,输入Rank(number,ref,[order]中的order:
order比较简单,只有0和1两种选择,0是从大到小排列(即:降序),1是小从到大排列(即:升序)。order默认的值为0,如果是降序排列可以输入0,也可以不输。
order值输入完毕后,用右括号结束Rank函数公式的书写,按回车键或点击公式编辑栏的勾号来完成公式运算。
12
回到工作表中,F2单元格里已经计算出了E2单元格的总分排名,接下来鼠标放置在F2单元格右下角,变成实心"十"字后向下填充公式,这样F列的名次就全部排好序了。
13
注意:Rank函数排序的优点是不改变原数据顺序对数据进行排序,而且如果分数一样,Rank函数会自动并列排名(比如:上图中的第22名有两位),但Rank函数成绩排序使用的是美式排名,也就是说,并列排名是占用位数的,比如:有3人并列第1,那么下一个名次是第4名,而不是像中国式的排名,下一个名次是第2名。如果用函数来进行中国式排名,还需用复杂点的组合公式,这里就不展开了。
J. 在Excel里怎样对学生成绩按分数段定ABCD等
设学生的成绩从A1单元格开始,成绩分等的从B1单元格开始,则在B1单元格复制以下公式:
=IF(A1>=90,"A",IF(AND(A1>=80,A1<90),"B",IF(AND(A1>=70,A1<80),"C",IF(AND(A1>=60,A1<70),"D","E"))))
然后,将鼠标移到B1单元格的右下角,出现十字时按住左键下拉,直到最后一个学生的成绩为止。
这个公式的成绩分段是90(含)以上为A,80(含)-89为B,70(含)-79为C,60(含)-69为D,60以下为E,只是个示例,你可以根据你们的具体要求修改公式中的分数。
公式的效果如图所示。