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

學生sql平均分

發布時間: 2022-06-01 06:59:04

① 怎麼用sql求平均分

摘要 1:使用sql自帶的avg函數

② sql問題,查找每門課程選課學生,平均分,最高分,最低分 。怎麼解答啊

你好,很高興回答你的問題。
解決這個問題需要用到分組查詢和聚合函數。
sql大致如下:
select 課程,avg(分數),max(分數),min(分數) from 表 group by 課程。
其中avg是算平均分。
max是算最大分。
min是算最小分。
如果有幫助到你,請點擊採納。
我解答的大部分是軟體開發新人遇到的問題,如果有興趣可以關注我。

③ SQL語句求一個學生表的學生成績的平均成績

問題:假設有張學生成績表(tb)如下:
姓名
課程
分數
張三
語文
74
張三
數學
83
張三
物理
93
李四
語文
74
李四
數學
84
李四
物理
94
想變成(得到如下結果):
姓名
語文
數學
物理
----
----
----
----
李四
74
84
94
張三
74
83
93
-------------------
*/

create
table
tb(姓名
varchar(10)
,
課程
varchar(10)
,
分數
int)
insert
into
tb
values('張三'
,
'語文'
,
74)
insert
into
tb
values('張三'
,
'數學'
,
83)
insert
into
tb
values('張三'
,
'物理'
,
93)
insert
into
tb
values('李四'
,
'語文'
,
74)
insert
into
tb
values('李四'
,
'數學'
,
84)
insert
into
tb
values('李四'
,
'物理'
,
94)
go

--sql
server
2000
靜態sql,指課程只有語文、數學、物理這三門課程。(以下同)
select
姓名
as
姓名
,
max(case
課程
when
'語文'
then
分數
else
0
end)
語文,
max(case
課程
when
'數學'
then
分數
else
0
end)
數學,
max(case
課程
when
'物理'
then
分數
else
0
end)
物理
from
tb
group
by
姓名

--sql
server
2000
動態sql,指課程不止語文、數學、物理這三門課程。(以下同)
declare
@sql
varchar(8000)
set
@sql
=
'select
姓名
'
select
@sql
=
@sql
+
'
,
max(case
課程
when
'''
+
課程
+
'''
then
分數
else
0
end)
['
+
課程
+
']'
from
(select
distinct
課程
from
tb)
as
a
set
@sql
=
@sql
+
'
from
tb
group
by
姓名'
exec(@sql)

--sql
server
2005
靜態sql。
select
*
from
(select
*
from
tb)
a
pivot
(max(分數)
for
課程
in
(語文,數學,物理))
b

--sql
server
2005
動態sql。
declare
@sql
varchar(8000)
select
@sql
=
isnull(@sql
+
'],['
,
'')
+
課程
from
tb
group
by
課程
set
@sql
=
'['
+
@sql
+
']'
exec
('select
*
from
(select
*
from
tb)
a
pivot
(max(分數)
for
課程
in
('
+
@sql
+
'))
b')

---------------------------------

/*
問題:在上述結果的基礎上加平均分,總分,得到如下結果:
姓名
語文
數學
物理
平均分
總分
----
----
----
----
------
----
李四
74
84
94
84.00
252
張三
74
83
93
83.33
250
*/

--sql
server
2000
靜態sql。
select
姓名
姓名,
max(case
課程
when
'語文'
then
分數
else
0
end)
語文,
max(case
課程
when
'數學'
then
分數
else
0
end)
數學,
max(case
課程
when
'物理'
then
分數
else
0
end)
物理,
cast(avg(分數*1.0)
as
decimal(18,2))
平均分,
sum(分數)
總分
from
tb
group
by
姓名

--sql
server
2000
動態sql。
declare
@sql
varchar(8000)
set
@sql
=
'select
姓名
'
select
@sql
=
@sql
+
'
,
max(case
課程
when
'''
+
課程
+
'''
then
分數
else
0
end)
['
+
課程
+
']'
from
(select
distinct
課程
from
tb)
as
a
set
@sql
=
@sql
+
'
,
cast(avg(分數*1.0)
as
decimal(18,2))
平均分
,
sum(分數)
總分
from
tb
group
by
姓名'
exec(@sql)

--sql
server
2005
靜態sql。
select
m.*
,
n.平均分
,
n.總分
from
(select
*
from
(select
*
from
tb)
a
pivot
(max(分數)
for
課程
in
(語文,數學,物理))
b)
m,
(select
姓名
,
cast(avg(分數*1.0)
as
decimal(18,2))
平均分
,
sum(分數)
總分
from
tb
group
by
姓名)
n
where
m.姓名
=
n.姓名

--sql
server
2005
動態sql。
declare
@sql
varchar(8000)
select
@sql
=
isnull(@sql
+
','
,
'')
+
課程
from
tb
group
by
課程
exec
('select
m.*
,
n.平均分
,
n.總分
from
(select
*
from
(select
*
from
tb)
a
pivot
(max(分數)
for
課程
in
('
+
@sql
+
'))
b)
m
,
(select
姓名
,
cast(avg(分數*1.0)
as
decimal(18,2))
平均分
,
sum(分數)
總分
from
tb
group
by
姓名)
n
where
m.姓名
=
n.姓名')

drop
table
tb

④ ;sql語言統計 求學分為3的每門課程的學生的平均成績

需要用到left
join才能防止有課程但是沒有學生成績的情況
select
t.課程號,
avg(SC.成績)
as
avgScore
from
(select
課程號
from
course
where
學分
=
3)
t
left
join
sc
on
sc.課程號
=
t.課程號
left
join
student
on
student.
學號
=
sc.學號
group
by
t.課程號

⑤ 怎樣編寫SQL語句求平均成績

1、打開資料庫軟體,附加資料庫,右鍵選擇新建查詢。

⑥ sql查詢姓李的學生的平均成績

工具/材料:Management Studio。

1、首先在桌面上,點擊「Management Studio」圖標。

⑦ sql同時查詢學生平均分和課程平均分

話不多說,直接上代碼,後面是代碼解析

SELECTstu.snameAS姓名,cou.cnameAS課程名,sco.degreeAS成績,t3.AvgdegreeAS每人平均分,t4.AvgdegreeAS每門課程平均分
FROMStudentstu
INNERJOINScorescoONstu.sno=sco.sno
INNERJOINCoursecouONcou.cno=sco.cno
INNERJOIN
(
SELECTt1.sno,t1.sname,AVG(t2.degree)ASAvgdegree
FROMStudentt1
INNERJOINScoret2ONt1.sno=t2.sno
GROUPBYt1.sno,t1.sname
)t3ONstu.sno=t3.sno
INNERJOIN
(
SELECTcno,AVG(degree)asAvgdegree
FROMscore
GROUPBYcno
)t4ONsco.cno=t4.cno

代碼解析:

  1. 該問題的關鍵點在於,怎麼用一行代碼計算出每人的平均分,以及每門課程的平均分

  2. 這時需要用到臨時表T3、T4

  3. 臨時表T3,用於計算每人平均分

  4. 臨時表T4,用於計算每門課程平均分

⑧ SQL語句 計算每個班的高考總分平均分,顯示班級號和高考平均分

SQL語句如下:

select班級號, avg(總成績)

from (

elect班級號,學生號,sum(成績) 總成績

from表

)

語言特色:

結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統。

可以使用相同的結構化查詢語言作為數據輸入與管理的介面。結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。

⑨ SQL求每個學生平均成績

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

fromstudentass

leftjion

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

fromscgroupby學號

)astont,學號=s,學號

leftjoinsconsc。學號=s,學號

leftjoincourseasconc。課程號=sc,課程號

功能:

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

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

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

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

⑩ sql語句比較不同年齡的學生的全部課程平均分,結果按年齡降序排列。

摘要 親你好讓你久等了,1、求各系學生的平均成績,並把結果存入新建的資料庫表中(請自己創建一個表存放結果)