0

個人名、日付、居住地域、リクエスト、レスポンスなど、マーケティングキャンペーンの結果を一覧表示する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を返します。

4

1 に答える 1

1
于 2013-03-11T14:55:22.947 に答える