當前位置:首頁 » 編程語言 » sql如何查詢前五名學生平均成績
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql如何查詢前五名學生平均成績

發布時間: 2022-06-16 11:11:36

① 使用sql SELECT語句查詢每個學生的平均成績,在線等。

insert into pinjun(學生姓名, 平均成績) select s.學生姓名,avg(c.成績) from 學生表 s,成績表 c where s.學生id=c學生id group by 學生id,學生姓名 order by avg(c.成績) desc,c.學生姓名

② sql題 查詢每位同學的課程門數、總成績、平均成績」的SQL語句是什麼

不知道你的表結構是什麼啊?
例如表的欄位有姓名、課程、成績的話
每人的總成績:SELECT 姓名,SUM(成績) FROM 表名 GROUP BY 姓名
每人的平均成績:SELECT 姓名,SUM(成績)/COUNT(*) FROM 表名 GROUP BY 姓名
每人的課程門數:SELECT 姓名,COUNT(*) FROM 表名 GROUP BY 姓名

③ sql查詢某個學生的平均成績的排名

1
2
3
4
5
6
7
8
9
10
11

select s.dname,s.sname,s.avggrade
from
(select t.dname,t.sname,t.avggrade,row_number() over (partition by t.dname order by t.avggrade desc) rn
from
(select a.name dname,b.name sname,avg(c.grade) avggrade
from
department a,student b,takes c
where a.department_id=b.department_id
and b.student_id=c.student_id
group by a.name,b.name) t) s
where s.rn=1

包含並列的情況,如果一個學院有兩個第一,兩個人都顯示,以上為 sqlserver或oracle寫法,其他資料庫執行不了
-------------補充-----------
給你個通用的

select s2.*
from
(select t.dname,max(t.avggrade) avggrade
from
(select a.name dname,b.name sname,avg(c.grade) avggrade
from
department a,student b,takes c
where a.department_id=b.department_id
and b.student_id=c.student_id
group by a.name,b.name) t
group by t.dname) s1,
(select a.name dname,b.name sname,avg(c.grade) avggrade
from
department a,student b,takes c
where a.department_id=b.department_id
and b.student_id=c.student_id
group by a.name,b.name) s2
where s1.dname=s2.dname
and s1.avggrade=s2.avggrade

④ 用SQL語言查詢每位同學的平均成績,要求學號、姓名和平均成績。怎麼做,急!!!

select姓名,學號,avg(科目成績+科目成績..+N)from表名
groupby姓名,學號

⑤ 查詢Score表中至少有5名學生選修的並以3開頭的課程的平均分數。

1、首先在電腦中打開SQL Server編譯器新建查詢,這時可以輸入投影列和數據源,如下圖所示。

⑥ SQL語句 查詢各學院平均成績最高的學生姓名及平均成績

select
學生表.學號,學生表.姓名,
average(成績表.成績)
as
平均成績,
max(成績表.成績)
as
最高成績,
min(成績表.成績)
as
最低成績
from
學生表
left
join
成績表
on
學生表.學號=成績表.學號
order
by
學生表.學號
成績表可換成語文、數學、英語等,查詢結果就是各個學生相應課程的平均成績、歷史最高成績、歷史最低成績。

⑦ 用SQL語言查詢班上前5名學生成績

SELECT TOP 5 * FROM 表 ORDER BY 成績 DESC;

⑧ 取每個班前5名成績的sql怎麼寫

--單純通過top是不行的,要用到row_number()over()才能取到每個班的分別的前5名
select*from(selectt.*,row_number()over(partitionby班級orderby成績desc)asfnumfrom表名T)t1wherefnum<=5

⑨ excel中SQL如何找出考試成績總分前5名的同學

可以用row_number函數來解決。

1、創建測試表,插入數據:


createtablesc(idint,namevarchar(20),classvarchar(20),scoreint);insertintoscvalues(1,'badkano','一年一班',100)insertintoscvalues(2,'網路知道團長','一年一班',99)insertintoscvalues(3,'小短','一年一班',95)insertintoscvalues(4,'小小動','一年一班',97)insertintoscvalues(5,'小智','一年一班',80)insertintoscvalues(6,'呂布','一年二班',67)insertintoscvalues(7,'趙雲','一年二班',90)insertintoscvalues(8,'典韋','一年二班',89)insertintoscvalues(9,'關羽','一年二班',70)insertintoscvalues(10,'馬超','一年二班',98)

2、查詢每個班級的前五名,可用語句:


select*from(selectrow_number()over()排名,*fromsc)twhere排名<=3orderbyclassasc,scoredesc

3、結果截圖:

⑩ SQL求每個學生平均成績

selects,學號,s,姓名,c,課程名,t,平均成績

fromstudentass

leftjion

selectavg(成績)as平均成績,學號

fromscgroupby學號

)astont,學號=s,學號

leftjoinsconsc。學號=s,學號

leftjoincourseasconc。課程號=sc,課程號

功能:

SQL具有數據定義、數據操縱和數據控制的功能。

1、SQL數據定義功能:能夠定義資料庫的三級模式結構,即外模式、全局模式和內模式結構。在SQL中,外模式又叫做視圖(View),全局模式簡稱模式(Schema),內模式由系統根據資料庫模式自動實現,一般無需用戶過問。

2、SQL數據操縱功能:包括對基本表和視圖的數據插入、刪除和修改,特別是具有很強的數據查詢功能。

以上內容參考:網路-結構化查詢語言