在數據庫SQL語句層面,若何統計一些前提的平均值呢?好比,若何統計一門課程的平均分,若何統計學生的平均分呢?這個時辰就需要利用到avg函數
建立一個姑且表,用于演示sqlserver語法中的平均值AVG利用。好比,計較一門課程的平均分數(本文以sqlserver數據庫為例演示)
IF OBJECT_ID('tempdb..#tblAvg') IS NOT NULL DROP TABLE #tblAvg;
CREATE TABLE #tblAvg(
StuName varchar(50), -- 學生名字
Course varchar(50), -- 課程
Grade float -- 分數
);
 往姑且表中插入幾行測試數據,模擬學生的成就
insert into #tblAvg(StuName, Course, Grade) values('張三', '語文', 85);
insert into #tblAvg(StuName, Course, Grade) values('張三', '數學', 90);
insert into #tblAvg(StuName, Course, Grade) values('李四', '語文', 92);
insert into #tblAvg(StuName, Course, Grade) values('李四', '數學', 86);
 查詢姑且表中的測試數據
select * from #tblAvg;
 利用AVG函數,統計語文的平均分,利用體例如下
select '語文平均分' = AVG(Grade)
from #tblAvg
where Course = '語文'
 利用AVG函數,統計數學的平均分,利用體例如下
select '數學平均分' = AVG(Grade)
from #tblAvg
where Course = '數學'
 利用AVG函數,按照課程統計平均分,這個時辰需要借助于group by,按照課程分組統計,利用體例如下
select '課程' = course, '平均分' = AVG(Grade)
from #tblAvg
group by Course
 利用AVG函數,按照學生統計平均分,這個時辰同樣需要借助于group by,按照學生分組統計,利用體例如下
select '學生' = StuName, '平均分' = AVG(Grade)
from #tblAvg
group by StuName
 0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!