我有一个包含 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(response) 返回 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 表示全面响应。