【发布时间】:2014-06-26 12:10:57
【问题描述】:
我在我的选择语句中使用 CASE WHEN 来计算条件为真的记录数:
COUNT(CASE WHEN CAST(EVENT_TIMESTAMP AS DATE)
- CONTRACT_EFFECTIVE_DATE = 1 THEN 1 END) AS "1 day",
效果很好。
现在我正在尝试应用相同的条件,但将一列中的值求和,而不是计算记录。这是我尝试过的:
(CASE WHEN CAST(EVENT_TIMESTAMP AS DATE)
- CONTRACT_EFFECTIVE_DATE = 0 THEN SUM(DWELL_MINUTES) END) AS "0 day",
但这给出了错误“选定的非聚合必须是关联组的一部分”。
我尝试了更多变体但没有成功。
当CAST(EVENT_TIMESTAMP AS DATE) - CONTRACT_EFFECTIVE_DATE = 0 时,我如何对 DWELL_MINUTES 中包含的值求和?
【问题讨论】: