統計每個學生的總成績
1. 按照人名查出學生的各科成績以及總成績並按總成績排名的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'
2. sql語句的使用——查詢每個學生的總分和平均分,有一張表
select sno, sum(grade) as total ,avg(grade) as average
from sc
group by sno
3. 按照科目統計所有班級某一科目所有學生的總成績的SQL查詢語言
selectcourseas'成績總和',
sum(casewhena='jsd1701'thenscoreelse0end)as'jsd1701',
sum(casewhena='jsd1702'thenscoreelse0end)as'jsd1702'
...
from表格內名容groupbycourse;
4. 輸入6個學生,3門課程的成績,統計每個學生的總成績,並將此表按總成績由高到低排序。
1、電腦打開Excel表格,把六個學生的成績數據給輸入表格中。
5. excel根據學生各科成績統計每個學生總分
1、打開EXCEL文件,輸入每個學生的分數。
6. 怎樣統計SQL資料庫裡面每一個學生的各科成績的總分
。。有哪些表,哪些欄位啊
select 學號,課1+課2+課3+課4+課5 as 總成績 from 成績表
這種一張表的?
7. 用循環實現統計5個學生的平均成績和總成績
/*這個項目的核心是對存放學員信息的結構數組的操作*/
#includestdio.h
/*首先創建一個學員信息的結構*/
struct student
{
int num; //學號
char name[20]; //姓名
float score[3]; //三門課的成績
float ave; //三門課的平均成績
}stu[50];//聲明一個結構類型的數組
/*定義錄入學員信息的錄入函數。因為要給結構數組stu[]賦值,
所以是有返回值的,返回類型是一個結構*/
struct student input()
{
struct student in;
int i;
float sum=0;
printf("\n 學號:");
scanf("%d",in.num);//注意,這里的in.num它是一個成員變數,是個變數,所以''別忘了
printf(" 姓名:");
fflush(stdin);
gets(in.name);
printf(" 三門課的成績 \n");
/*用一個循環來為score[]賦值並累加成績*/
for(i=0;i3;i++)
{
printf(" 成績%d:",i+1);
scanf("%f",in.score[i]);
sum+=in.score[i];
}
in.ave=sum/3;//計算出平均成績
return in;
}
/*定義顯示學員信息的函數*/
void display(struct student *s,int n)
{
int i;
printf("\n 學號\t姓名\t平均成績\n");
for(i=0;in;i++,s++)//指針循環遍歷結構數組時,要讓指針也++
{
printf(" %d\t%s\t%5.2f\n",s-num,s-name,s-ave);
}
}
/*定義按學員平均成績排序的函數*/
void sort(struct student *s,int n)
{
int i,j;
struct student d;//定義一個中間交換變數
for(i=0;in;i++)
{
for(j=0;jn-1-i;j++)
{
if((s+j)-ave(s+j+1)-ave)
{ //交換的是結構數組里的結構變數
d=*(s+j);
*(s+j)=*(s+j+1);
*(s+j+1)=d;
}
}
}
}
/*定義插入函數*/
void insert(struct student *s,int n)
{
int i,j;
struct student in;
printf("\n 請輸入要插入的學員信息");
in=input();
for(i=0;in;i++,s++)
{
if(s-avein.ave)//前面定義的排序函數是個降序排列,所以尋找一個比插入的平均成績小的位置
break;
}
if(in)
{
for(j=n;ji;j--)
{
*(s+j)=*(s+j-1);//為插入的結構變數留出位置,其他結構變數往後移一位
}
*(s+i)=in;
}
else//當插入的平均成績最低時
{
for(j=n;j0;j--)
{
*(s+j)=*(s+j-1);
}
*(s+0)=in;
}
}
/*定義刪除函數*/
void delet(struct student *d,int n)
{
int i,j,no;
printf("\n 請輸入要刪除學員的學號:");
scanf("%d",no);
for(i=0;in;i++,d++)
{
if(d-num==no)
break;
}
if(i=n)
printf("\n 沒有該學員。\n");
else
{
d=d-i;
for(j=i;jn;j++)
{
*(d+j)=*(d+j+1);
}
}
}
void main()
{
int i,count=0;//count用來統計輸入學員的個數
char ans;
float sum=0;
/*由於不確定學員個數,所以用「回答 y or n 」
來確定是否繼續輸入學員信息*/
printf("\n 請輸入所有學員的信息");
ans='y';
while(ans=='y')
{
if(count=50)
{
stu[count]=input();//調用錄入函數
count++;
printf("\n 是否還要輸入學員信息?(y/n)");
fflush(stdin);
ans=getchar();
}
else
printf("\n 學員的個數已超過了最多人數50");
}
printf("\n 排序前的學員信息如下:");
display(stu,count);//調用顯示學員信息函數,傳遞的參數是結構數組和學員的個數
sort(stu,count);//調用排序函數
printf("\n 排序後的學員信息如下:");
display(stu,count);
printf("\n 是否要插入新學員?(y/n)");
fflush(stdin);
ans=getchar();
while(ans=='y')
{
insert(stu,count);//調用插入函數
count++;//插入一個,學員的人數也要加一個
printf("\n 是否還要插入新學員?(y/n)");
fflush(stdin);
ans=getchar();
}
printf("\n 插入新學員後的學員信息如下:");
display(stu,count);
printf("\n 是否要刪除某個學員?(y/n)");
fflush(stdin);
ans=getchar();
while(ans=='y')
{
delet(stu,count);//調用刪除函數
count--;//刪除一個,學員的人數也要減一個
printf("\n 是否還要刪除某個學員?(y/n)");
fflush(stdin);
ans=getchar();
}
printf("\n 刪除某個學員後的學員信息如下:");
display(stu,count);
}
8. 如何用excel計算出每個同學的總分成績
材料/工具:抄Excel2010
1、首先,打開一個班的學生成績單。
9. 使用c語言編寫程序,分別統計出每個學生的平均成績。
#include<stdio.h>
#define N 5//這里設置班級人數
void main()
{
int i,sum=0,high=0,score;
float average;
printf("input everyone's score.\n");
for(i=0;i<N;i++)
{
scanf("%d",&score);
sum+=score;
if(score>high) high=score;
}
average=(float)sum/N;
printf("average=%f\n",average);
printf("highest=%d\n",high);
}
這個代碼很容易懂。你拿去改下。。我就不給你調試了。這個是實現某班平均成績然後輸出平均成績最高成績的,如果採納我的。我可以給你編一個很通用的
10. sql如何統計全部學生的分數
---第個學員的成績
select 學號,名稱, isnull(語文,0) + isnull(數學,0) + isnull(英語,0) 總成績 from a left join b on a.學號=b.學號
--各科總成績
select sum(語文),sum(數學),sum(英語) from b
--總成績
select sum(語文)+sum(數學)+sum(英語) from b