2012-11-25 94 views
2

我想從計數結果中獲取AVG。如何找到MySQL中的計數結果的平均值?

SELECT labelname AS Record_Labels, COUNT(title) AS Number_of_CDs_Released FROM CD 
JOIN RecordLabel ON labelname = released_by 
GROUP BY labelname;    

我試過這樣做:AVG(COUNT(title)),但它沒有工作。有人可以幫我從這裏出去嗎?

+0

歡迎堆棧溢出! ;) –

+1

我試過谷歌搜索。但給出的答案都是子查詢,我想嘗試使用JOIN。 – MikeCOYS

+1

這是因爲要做到這一點的邏輯方法是使用子查詢。爲什麼你想要使用連接?您沒有嘗試加入,您嘗試過並且因聚合而失敗。原來的問題沒有說一個關於想要使用連接的詞。 –

回答

4

您可以使用嵌套查詢做到這一點:

select avg(Number_of_CDs_Released) from 
(SELECT labelname AS Record_Labels, COUNT(title) AS Number_of_CDs_Released FROM CD 
JOIN RecordLabel ON labelname = released_by 
GROUP BY labelname) nested; 
+0

感謝您的回答。但是,如何做到這一點,以便AVG代表所有標籤名稱的每一行標籤名稱而不是所有標籤名稱的AVG? – MikeCOYS

+0

這對我來說沒有意義。您正在爲獨特的標籤名稱進行計數。平均做一件事給你同樣的事情 - 數量。做整個表的平均值會給你一個平均值。也許你可以回頭編輯你原來的問題,並舉例說明你真正想做什麼? –

+0

你救了我,對不起。我錯誤地讀了這個問題。我以爲它要求我找到每個唱片公司的AVG版本,但它只是唱片公司發行的CD的AVG。這是一個漫長的夜晚看代碼:(我想你的答案,但我不允許,但是,我已經打勾了。再次感謝! – MikeCOYS