1. 程式人生 > >資料庫sql語句多表連線查詢+group by分組的使用

資料庫sql語句多表連線查詢+group by分組的使用

參考自:https://blog.csdn.net/fly_fly_fly_pig/article/details/81325116

平時用sql查詢經常遇到的問題,這次搜到了一個博主的文章,解決了問題。但是其中的深層原因還沒有想清楚,本文需要完善

更正前

CREATE VIEW V_AVG_S_G
AS
SELECT student.stname ,COUNT(*) AS '選課門數',AVG(score.grade) AS '平均分'
FROM score,student
WHERE score.stno = student.stno
GROUP BY score.stno

報錯:訊息 8120,級別 16,狀態 1,過程 V_AVG_S_G,行 3 [批起始行 0]
選擇列表中的列 'student.stname' 無效,因為該列沒有包含在聚合函式或 GROUP BY 子句中。

更正後

CREATE VIEW V_AVG_S_G
AS
SELECT MAX(student.stname) AS '學生名',COUNT(*) AS '選課門數',AVG(score.grade) AS '平均分'
FROM score,student
WHERE score.stno = student.stno
GROUP BY score.stno

那個MAX聚合函式,也可以用MIN函式