我在第一次全職工作中使用了大約一週的SQL,並且我試圖從一個查詢中計算一些統計數據,表。SQL:如何計算一個查詢的平均值
具體而言,我試圖從一個組合表中計算出平均值,其中我應用了過濾器(或約束?我不清楚SQL語言)。
從做research on Google,我學會了如何計算平均:
SELECT AVG(column_name)
FROM table_name
我遇到的問題是,這似乎只與數據庫中存在的表來工作,而不是用新的查詢我已創建。
我的代碼的簡化版本如下:
SELECT
Animal_Facts.Animal_Name, Animal_Facts.Prev_Reg_Amount,
Names.Given_Name, Animal_Class.Class_Description
FROM
Names
INNER JOIN
Animal_Facts ON Names.Name_Key = Animal_Facts.Name_Key
INNER JOIN
Animal_Class ON Animal_Facts.Class_Key = Animal_Class.Class_Key
此查詢創建結合了四列從三個表,其中Class_Description
介紹了動物是否絕育,植入芯片,通過一個養老金領取者等擁有,Pre_Reg_Amount是支付的註冊費。
我想找到退休人員支付的平均費用,所以我包括下面的代碼行過濾表:
AND Animal_Class.Class_Description LIKE ('%pensioner%')
然後計算我添加平均:
SELECT AVG(Animal_Facts.Prev_Reg_Amount) from Animal_Facts
所以我的代碼是:
SELECT
Animal_Facts.Animal_Name, Animal_Facts.Prev_Reg_Amount,
Names.Given_Name, Animal_Class.Class_Description
FROM
Names
INNER JOIN
Animal_Facts ON Names.Name_Key = Animal_Facts.Name_Key
INNER JOIN
Animal_Class ON Animal_Facts.Class_Key = Animal_Class.Class_Key
AND Animal_Class.Class_Description LIKE ('%pensioner%')
SELECT AVG(Animal_Facts.Prev_Reg_Amount)
FROM Animal_Facts
現在的問題是,在Exce我實際上並沒有得到養老金領取者數據的平均值,而是所有數據的平均值。有沒有一種方法可以直接從我在SQL中創建的表中計算平均值(和其他統計數據)?
注意:我能夠通過將數據導出到Excel來計算所有這些統計數據,但它耗時更多。我寧願學習如何在SQL中做到這一點。
歡迎來到使用SQL的世界。這裏的草很綠。 – mendosi
@mendosi - 謝謝隊友! –