[SQL ] 同一列的資料用AVG平均
內容/問題描述:
108 年 - 高雄市高中教師聯招甄選-資料處理科 考試題目
有兩個資料表
STUDENT(SID,NAME,SEX,AGE,HEIGHT)
SCORE(SID,CHI,ENG,MATH)
題目要求列出資料欄位 SID、NAME、AVG 及其欄位紀錄,
篩選條件:平均成績(AVG)為國文(CHI)、英文(ENG)、數學(MATH)
三科成績的平均數值(需使用 AVG 函數),平均成績(AVG)數值應大 於 70 分。
小弟我一開始沒看清楚題目有要求用AVG函數
SELECT STUDENT.SID,
STUDENT.NAME,
(SCORE.CHI+SCORE.ENG+SCORE.MATH)/3 AS AVG
FROM STUDENT,SCORE
WHERE STUDENT.SID = SCORE.SID
AND (SCORE.CHI+SCORE.ENG+SCORE.MATH)/3 > 70 ;
看清楚題目要求後,不知道該怎麼用AVG函數來寫
SELECT STUDENT.SID,
STUDENT.NAME,
AVG(SCORE.CHI+SCORE.ENG+SCORE.MATH) AS AVG
FROM STUDENT,SCORE
WHERE STUDENT.SID = SCORE.SID
GROUP BY STUDENT.SID, STUDENT.NAME
HAVING AVG(SCORE.CHI+SCORE.ENG+SCORE.MATH) > 70 ;
這樣寫出來的結果是該學生的三科成績相加...
請各位高手指導
感恩感謝
2020.10.01 更新
SELECT A.SID,ST.NAME,AVG(A.SS) AS 'AVG'
FROM (
SELECT SID,CHI AS SS FROM SCORE
UNION
SELECT SID,ENG AS SS FROM SCORE
UNION
SELECT SID,MATH AS SS FROM SCORE ) AS A , STUDENT AS ST
WHERE A.SID=ST.SID
GROUP BY A.SID,ST.NAME
HAVING AVG(A.SS)>70
;
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.254.194.210 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1601236822.A.6F9.html
推
09/28 13:23,
4年前
, 1F
09/28 13:23, 1F
→
09/28 23:37,
4年前
, 2F
09/28 23:37, 2F
→
09/28 23:48,
4年前
, 3F
09/28 23:48, 3F
→
09/28 23:48,
4年前
, 4F
09/28 23:48, 4F
→
09/29 08:21,
4年前
, 5F
09/29 08:21, 5F
推
09/29 11:27,
4年前
, 6F
09/29 11:27, 6F
→
09/30 17:13,
4年前
, 7F
09/30 17:13, 7F
→
09/30 17:13,
4年前
, 8F
09/30 17:13, 8F
※ 編輯: wwfroaddogg (111.254.196.122 臺灣), 10/01/2020 15:45:43
Database 近期熱門文章
PTT數位生活區 即時熱門文章