我有以下数据:
学习ID | 有效Dt | 状态 |
---|---|---|
174739 | 2000年1月13日 | 开放应计 |
174739 | 2/15/2002 | 停止累积 |
174739 | 2002 年 5 月 22 日 | 暂停 |
174739 | 2012 年 8 月 3 日 | 开放应计 |
174739 | 2013 年 5 月 21 日 | 停止累积 |
174739 | 2022 年 4 月 1 日 | 已关闭 |
一项研究在给定日期可以有多种状态。它可以多次打开和关闭应计(科目注册)。我试图弄清楚如何将研究归类为“活跃”或“完整”。如果一项研究尚未处于“已关闭”状态,则意味着它仍然是一项“活跃”研究。我不知道逻辑会是什么样子。
“已关闭应计”并不意味着研究已完成,只有“已关闭”状态才表示已完成。
我认为某个地方需要有一个固定的 LOD 计算,但我迷路了。
如果一项研究尚未处于“已关闭”状态,则意味着它仍然是一项“活跃”研究。
COUNT
'CLOSED'
状态数量:
'CLOSED'
状态,则为 'active'
和 'CLOSED'
状态则为 'inactive'
您可以使用条件聚合和
CASE
表达式来做到这一点:
SELECT study_id,
CASE COUNT(CASE status WHEN 'CLOSED' THEN 1 END)
WHEN 0
THEN 'active'
ELSE 'inactive'
END AS is_active
FROM table_name
GROUP BY study_id