【发布时间】:2019-07-24 17:04:03
【问题描述】:
我想获取在过去 12 个月内终止原因为“xxx”的同一个月内终止和重新注册的订阅者的数量。
在上述示例中,订阅者“1245”因“xxx”原因被终止,但在同一个月重新注册。我想统计过去 n 个月中这种情况每月发生的次数。
我尝试了下面的代码来获取 PersonID,但在一个月内无法获取计数。
SELECT DISTINCT PersonID FROM Membership A
INNER JOIN (SELECT StartYrMo FROM Membership) B
ON A.EndYrMo = B.StartYrMo
WHERE A.TermReason = 'xxx'
ORDER BY PersonID
编辑还有更多内容。我想要所有连续至少 6 个月这样做的 PersonId。含义:人“A”在 201901 年因“xxx”原因被终止。“A”在 201902 年至 201908 年因同样的“xxx”原因再次终止,至少 6 个月。我想要所有这样做的人的 ID。
【问题讨论】:
-
假设这是 SQL Server。对于初学者,您需要一个
GROUP BY。添加 JOINAND A.PersonID = B.PersonID。
标签: sql sql-server