2012-10-01 120 views
0

我有問卷ID和用戶提交的值的問卷調查答覆表。mysql得到計數和平均值

我想得到答案的數量,也是整個問題ID的平均值,例如對於問題ID 1,選項1的計數爲3,選項2的計數爲2,但總體平均值將是7(所有光子數之和)除以5(提交總數)。

我無法看到如何使用我的羣組完成此操作,該羣組按問題ID和選項編號進行分組。

任何指針將受到感謝!

的樣本數據會看起來像

questionID ResponseValue 
1   5 
1   5 
1   6 
2   7 
2   7 
2   7 
2   3 

我的預期產出將

questionID responseValue countOfResponses questionAverage 
1   5    2    5.3333 
1   6    1    5.3333 
2   3    1    6 
2   7    3    6 
+3

可以添加ATLEAST樣本記錄 –

+0

我已經編輯了問題 – Dave

+0

顯示您的預期產出的一列表示TOO。否則,它只是一個簡單的選擇從YourTable的AVG(ResponseValue)... 1記錄= 5.333。你如何期待顯示5次回答的相關性,並且6次回答一次,否則......你需要一組。 – DRapp

回答

1

您是否在尋找類似... 在具有整體總每個選項,我會預 - 查詢每個問題的總和(回答的價值),然後就這個問題進行分組,然後對所有條目進行分組......然後再次查詢,但是按每個問題/選項...因此,在這種情況下,您是獲得給定響應總數的百分比表示,而不是「平均值」...... T o確保您獲得小數精度,我已經添加了* 1.0000,因此它進入了十進制強制結果列,而不僅僅是整數。

select 
     YT.QuestionID, 
     YT.responseValue, 
     count(*) as TotalOptResponses, 
     TotalByQ.TotalQAverage 
    from 
     YourTable YT 
     JOIN (select QuestionID, 
         avg(ResponseValue * 1.0000) as TotalQAverage 
        from 
         YourTable 
        group by 
         QuestionID) TotalByQ 
      ON YT.QuestionID = TotalByQ.QuestionID 
    group by 
     YT.QuestionID, 
     YT.ResponseValue 
+0

不完全,因爲我需要知道每個選項的計數 – Dave

+0

@Dave,請參閱修訂 – DRapp

+0

感謝您的回覆,但我似乎沒有得到我預期的結果。我編輯了原始問題,給出了一些數據的樣本和我需要看到的結果的解釋。 – Dave