1. 程式人生 > >查詢學生 學號、姓名和平均成績

查詢學生 學號、姓名和平均成績

三個表:Student(學生),Course(課程),SC(選課):

這裡寫圖片描述

剛開始是這麼寫的:

select Student.sname,Student.sno,avg(grade) as avg_grade
    from Student,SC
    where Student.sno=SC.Sno
    group by Student.Sno;

結果在SQL Server中執行報錯:

這裡寫圖片描述

我在網上查了很多,答案也都是這麼寫的,急的想摔電腦。

這裡寫圖片描述

然鵝,在我深邃浩瀚的腦洞之下,我還是想出了答案:在group by後面可以有多個決定因素的,加上一個Student.sname就好了:

select Student.sname,Student.sno,avg(grade) as avg_grade
    from Student,SC
    where Student.sno=SC.Sno
    group by Student.Sno,Student.sname;

或者

select Student.sname, SC.sno, avg(SC.grade) as avg_grade
    from dbo.SC inner join
            Student on SC.sno = Student.sno
    group by SC.sno, Student.sname

結果:

這裡寫圖片描述

這裡寫圖片描述

但如果做是題的話,就按剛開始寫的那個就好了。

相關推薦

查詢學生 學號姓名平均成績

三個表:Student(學生),Course(課程),SC(選課): 剛開始是這麼寫的: select Student.sname,Student.sno,avg(grade) as avg

程序通過定義學生結構體變量,存儲學生學號姓名3門課的成績。函數fun的功能是:對形參b所指結構體變量中的數據進行修改,並在主函數中輸出修改後的數據。

一次 數據 mod long 成績 nbsp data 例如 main 程序通過定義學生結構體變量,存儲學生的學號、姓名和3門課的成績。函數fun的功能是:對形參b所指結構體變量中的數據進行修改,並在主函數中輸出修改後的數據。例如,若b所指變量t中的學號、姓名和三門課的成績

給出n個學生的考試成績表,每條記錄由學號姓名分數名次組成,設計演算法完成下列操作: (1)設計一個顯示對學生資訊操作的選單函式如下所示: *************************

給出n個學生的考試成績表,每條記錄由學號、姓名和分數和名次組成,設計演算法完成下列操作: (1)設計一個顯示對學生資訊操作的選單函式如下所示: *************************        1、錄

查詢CS系的學生學號姓名年齡,並按年齡降序排列。

select Sno,Sname,Sage from Student--從學生表中查詢學號、姓名、年齡 where Sdept='CS'--系名為CS ORDER by Sage DESC--根據年齡降序

ACMNO.44 C語言-平均分 有N個學生,每個學生的資料包括學號、姓名、3門課的成績,從鍵盤輸入N個學生的資料,要求打印出3門課的總平均成績,以及最高分的學生的資料(包括學號、姓名、3門課成績

題目描述 有N個學生,每個學生的資料包括學號、姓名、3門課的成績, 從鍵盤輸入N個學生的資料, 要求打印出3門課的總平均成績,以及最高分的學生的資料 (包括學號、姓名、3門課成績) 輸入 學生數量N佔一行每個學生的學號、姓名、三科成績佔一行,空格分開。 輸出 各門

有10個學生,每個學生的資料包括學號姓名3門課程的成績。讀入這10個學生的資料,要求輸出3門課程的總平均成績,以及個人平均分最高的學生的資料

輸入 共有10行,每行包含了一個學生的學號(整數)、名字(長度不超過19的無空格字串)和3門課程的成績(0至100之間的整數),用空格隔開。 輸出 第一行包含了3個實數,分別表示3門課程的總平均成績,保留2位小數,每個數之後輸出一個空格。 第二行輸出個人平均分最高的學生的資料,與輸入資料

要求打印出每門課的平均成績,以及三門課總分最高的學生的資料(包括學號姓名3門課的成績,三門課的總分)。

實驗八 有50個學生,每個學生的資料包括學號、姓名、3門課的成績,從鍵盤輸入50個學生資料,要求打印出每門課的平均成績,以及三門課總分最高的學生的資料(包括學號、姓名、3門課的成績,三門課的總分)。   /**要求打印出每門課的平均成績,以及三門課總分最高的學生的資料

習題 7.5 有10個學生,每個學生的資料包括學號姓名3門課的成績,從鍵盤輸入10個學生資料,要求打印出3門課的總平均成績,以及最高分的學生的資料。

C++程式設計(第三版)譚浩強 習題7.5 個人設計 習題 7.5 有10個學生,每個學生的資料包括學號、姓名、3門課的成績,從鍵盤輸入10個學生資料,要求打印出3門課的總平均成績,以及最高分的學生的

查詢有2門及以上不及格科目的學生姓名及其平均成績

pre clas b- -h aid 學生 sele 姓名 avi 有三個表S(學號s#,姓名sname,。。。)、C(課程號c#,課程名cname,。。。)、SC(學號s#,課程號c#,成績grade。。。)select sname,avg(grade)from s,sc

習題 14.3 學校的人事部門儲存了有關學生的部分資料(學號、姓名、年齡住址),教務部門也儲存了學生的另外一些資料(學號、姓名、性別、成績),兩個部門分別編寫了本部門的學生資料管理程式,其中都用。。

C++程式設計(第三版) 譚浩強 習題14.3 個人設計 習題 14.3 學校的人事部門儲存了有關學生的部分資料(學號、姓名、年齡、住址),教務部門也儲存了學生的另外一些資料(學號、姓名、性別、成績),兩個部門分別編寫了本部門的學生資料管理程式,其中都用了Student作為類名。現在

有N個學生資訊(包括學號姓名成績),按照成績的高低順序輸出各學生的資訊

有N個學生資訊(包括學號、姓名、成績),按照成績的高低順序輸出各學生的資訊 /*用結構體陣列存放學生資訊,採用冒泡法進行排序/ #include<stdio.h> struct student //宣告結構體型別 { int num; char name[20]; fl

查詢選修課程的課程號課程名平均成績

select Course.Cno,Cname,avg(Grade) avgGrade from Course--從課程表中查詢課程號、課程名、平均成績 left  outer join SC on SC.Cno=Course.Cno--通過課程號左連線選修表 Grou

2.6使用二維陣列儲存學生的資料,包括學號、姓名、作業系統成績、Java成績、高數成績、總分;一行儲存一個學生的資料;要求輸入若干學生的資料,求出總分;然後按照總分由高到低重新排列;輸出排序後的結果

摩爾的Java學習筆記2.6 第二週作業: 1、實現將一組整數進行升序排列; 2、用二維陣列實現,5個學生4門課程的總分和平均分的統計工作; 3、列印八行八列楊輝三角,開頭

有10個學生,每個學生的資料包括學號姓名3門課的成績,編寫如下函式: (1) 輸入10個學生 的基本資訊(input); (2) 求出每個學生的平均分(average); (3) 求出平均分

1、         有10個學生,每個學生的資料包括學號、姓名、3門課的成績,編寫如下函式: (1)    輸入10個學生 的基本資訊(input); (2)    求出每個學生的平均分(average); (3)    求出平均分最高的學生資訊(high_score);

java學習3創建學生屬性:學號姓名電話 完全實現對象集合的增刪改查。(控制臺來做)

main 使用 del ext str bre ack pri todo 首先創建一個student類其中包括get,set與構造函數 /** * */package work2; /** * @author Administrator * */public fina

查詢沒有選修1號課程的學生學號姓名

select Student.Sno,Sname from SC --從選修表中查詢學號、姓名 left join Student --左連線學生表 on Student.Sno not in(select Sno from SC where Cno='1')--選擇沒有選修1號課程

二維陣列求每名學生的總成績平均成績(c++中字串的輸出)

#include “stdafx.h” #include #include //可以輸出字串 using namespace std; int main() { int scores[3][4]; cout << “請輸入同學姓名以及成績!”<