所以國家有問題具有回答。我想要根據國家分組,從這個問題的所有答案中選出一個具體問題答案的百分比。SQL - 反應的比例在總響應,每個國家分組
請注意,每個國家/地區都有相同問題的多個實例,每個實例的答案不同。還有一個字段包含每個答案/條目的total_nr_responses。
示例數據
question_id country answer_key total_nr_responses
A1 Austria A1_B1 3
A1 Austria A1_B1 0
A1 Austria A1_B2 4
A1 Belgium A1_B1 4
A1 Belgium A1_B1 10
A2 Austria A2_B1 2
...
預期結果爲問題A1,答案A1_B1作爲total_nr_responses特定答案出總響應的百分比,每個國家(100x3/7):
Country Result
Austria percentage
Belgium percentage
我試過這樣的事情,但我不知道如何獲得每個國家的百分比/如何在每個國家的子查詢中進行分組,以便整個查詢有效:
Select Country, count(total_nr_responses)* 100/(Select count(total_nr_responses) From my_table WHERE question_key = 'A1') as percentage
From my_table
WHERE question_id = 'A1' AND answer_key = 'A1_B1'
GROUP BY Country
任何幫助非常感謝。
用你正在使用的數據庫標記你的問題。此外,樣本數據和期望的結果將有所幫助。 –
對於SQL Server,您將使用OVER(PARTITION BY)在國家/地區組中重置您的號碼。 https://msdn.microsoft.com/en-us/library/ms189461.aspx –
@GordonLinoff謝謝,更新問題 –