2014-01-21 69 views
1

我想在我的下面的查詢中包含一個更多的列來顯示其中兩列的平均值。我是新來的SQL和PostgreSQL,而是指下面的鏈接http://www.postgresql.org/docs/9.3/interactive/index.html錯誤:聚合函數調用不能嵌套

select ad.col1, ad.col2, md.col3, ad.col4, mcd.col5, 
     AVG(md.col3/mcd.col4) as cb 
from month_date as md 
JOIN active_date as ad ON ad.col1=md.col1 AND ad.col2=md.col2 
JOIN mdata1 as mcd ON mcd.col1=md.col1 AND mcd.col2=md.col2; 

,但我收到以下錯誤而執行相同的

ERROR: aggregate function calls cannot be nested 
LINE 1: ...col2,md.col3,ad.col4,mcd.col5, AVG(md.col3/m... 
                  ^

********** Error ********** 

ERROR: aggregate function calls cannot be nested 
SQL state: 42803 
Character: 77 

任何人都可以指導我在哪裏做錯了什麼,我需要更正以使其正常工作。

輸出需要:

col1 | col2 | col3 |col4 | col5| cb| 

其中cb是其他兩列的列average

任何幫助,將不勝感激。

[編輯]

試過Group By,但仍然得到了同樣的錯誤,任何人都可以糾正我,我也做在我下面的查詢自己做錯了什麼

select ad.col1, ad.col2, md.col3, ad.col4, mcd.col5, 
     AVG(md.col3/mcd.col4) as cb 
from month_date as md 
JOIN active_date as ad ON ad.col1=md.col1 AND ad.col2=md.col2 
JOIN mdata1 as mcd ON mcd.col1=md.col1 AND mcd.col2=md.col2 GROUP BY ad.col1,ad.col2,md.col3,ad.col4,mcd.col5; 
+0

你只是想顯示這兩個值的劃分,或者列中所有值的平均值,並按照您所闡述的其他列進行分組? –

+1

我用你的例子創建了一個小提琴,可以不知道你爲什麼得到錯誤,你能檢查差異嗎? http://sqlfiddle.com/#!15/be661/1 –

+0

我只需要顯示兩列的平均分割,例如:平均(8/2)也進一步在另一列我需要顯示平均值(8 + 2/2),我是新來的查詢,所以可能是我犯了一個錯誤,請你糾正我在那種情況下我應該做什麼? – AKIWEB

回答

-2

我創建a fiddle你的榜樣,你可以看到,查詢,因爲它是作品。這可能是包裝查詢,存儲過程或函數中的錯誤。

2

要使用AVG()或SQL中的任何聚合函數,您需要爲顯示的其他列創建一個GROUP BY。

想想這樣,當你選擇一列,你顯示行。當您顯示平均值時,您將顯示單個輸出。您不能將行和單個輸出放在一起。

你需要沿着線試一下:

SELECT col1, col2, AVG(col3) 
FROM table1 
GROUP BY col1, col2 
+0

謝謝d_ominic,是的,你是對的。我在單個查詢中單獨完成了相同的操作,但是如何在上面的查詢中集成相同的查詢,我已經提到過已經有兩個'inner join' – AKIWEB

+0

嘗試了這樣的操作:'select ad.col1,ad.col2,md .col3,ad.col4,mcd.col5, 作爲cb AVG(md.col3/mcd.col4)從month_date起作爲md 將active_date作爲廣告開啓ad.col1 = md.col1 AND ad.col2 = md。col2 JOIN mdata1 as mcd ON mcd.col1 = md.col1 AND mcd.col2 = md.col2 GROUP BY ad.col1,ad.col2,md.col3,ad.col4,mcd.col5;'但仍然是同一個錯誤如果我做錯了什麼,你能糾正我嗎? – AKIWEB

+0

嗯奇怪。用小提琴alex siri製作,你編輯的查詢看起來很好......你能告訴我們你使用的表格結構和數據類型嗎? – Coderchu