我有10列,列出營銷活動的結果,包括人名,日期,居住區,請求和響應表0。SQL:聚合函數返回時使用WHERE過濾
請求列始終是一個數字,表示我們發送一個特定的人的調查請求的數量。
響應列是從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組類型都是一樣的。它返回一個0,SUM(響應)
更新:當我不包括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全線響應。
你能給你想要的結果的smple記錄嗎? – 2013-03-11 14:18:53
做SELECT響應FROM analytics.SurveyResults0304 WHERE group_type ='Youth' - 你會得到任何非零值嗎? – barc0de 2013-03-11 14:21:22
barc0de:有趣的是:它仍然只返回0.也許這不是聚集了我的功能。 – 2013-03-11 14:25:22