【发布时间】:2014-06-25 01:36:21
【问题描述】:
在我最近收到的 SO 帮助下,我设法在我的 SELECT 查询中使用以下 sn-p 获取数据:
COUNT(CASE WHEN CAST(EVENT_TIMESTAMP AS DATE) - CONTRACT_EFFECTIVE_DATE = 2 THEN 1 END) AS "2 day",
这产生了满足特定条件的事件的实例计数。
但我现在想计算与这些事件相关的人数(唯一电子邮件地址)。
我试过了:
COUNT(CASE WHEN CAST(EVENT_TIMESTAMP AS DATE) - CONTRACT_EFFECTIVE_DATE = 2 THEN COUNT(DISTINCT TmpNIMSalesForceDB.EMAIL) END) AS "2 day"
逻辑在我看来是正确的 - 如果案例的结果是 2,则计算该案例的不同电子邮件地址。
但似乎 SQL(或 Teradata)不喜欢以这种方式嵌套。生成的错误消息是“无法下一个聚合函数”。
我可以这样使用COUNT(DISTINCT吗?
【问题讨论】: