個人名、日付、居住地域、リクエスト、レスポンスなど、マーケティングキャンペーンの結果を一覧表示する10列のテーブルがあります。
リクエスト列は常に数字で、特定の人に送信した調査リクエストの数を示します。
回答の列は0からXまでの数字で、人が回答した調査の数を表します。
さて、実際の表を見ると、おそらく10%程度の回答率があります。応答列にゼロ以外のエントリがたくさんあります。
ただし、次のような集計関数を作成すると、次のようになります。
SELECT person, date, SUM(requests), SUM(response)
FROM analytics.SurveyResults0304
WHERE group_type = 'Youth'
GROUP BY person, date;
SUM(リクエスト)の正しい番号を取得しましたが、SUM(レスポンス)の大きな太い「0」を取得しましたか?3つのグループタイプすべてで同じです。SUM(応答)の場合は0を返します
更新:group_typeフィルターを含めない場合は正常に機能しますが、WHEREフィルターで使用できないのはなぜですか?
ありがとう!!!
EDIT2:サンプルテーブル
Person Date Group_Type Requests Response Neighborhood FirstName
-------- -------- ----------- -------- -------- ------------ ---------
Nixon 3/3/2013 Youth 3 3 Chinatown Richard
Clinton 3/3/2013 Youth 4 0 Gunhill Bill
Mao 3/3/2013 Youth 5 0 Berryville Chairman
Nixon 3/4/2013 Youth 17 2 Townsford Richard
Gates 3/3/2013 Elderly 41 5 Chinatown Bill
Gates 3/4/2013 Elderly 0 0 Chinatown Bill
Gates 3/5/2013 Elderly 0 0 Chinatown Bill
Gates 3/6/2013 Elderly 0 0 Chinatown Bill
たとえば、私がするとき:
SELECT SUM(requests), SUM(response)
FROM analytics.SurveyResults0304
WHERE group_type = 'Youth';
要求の場合は70を返し、応答の場合は0を返します。