【发布时间】:2017-05-03 03:40:24
【问题描述】:
我有一个 SQL 脚本,用于计算给定月份中具有特定事务 ID 的帐户数。我想对此进行修改,以便仅在过去 3 个月的每个月中放置这些类型的交易时才计算帐户数,而不仅仅是在任何给定的月份。这是为了过滤掉一次性事件。
我对 SQL 还很陌生,并且无法通过我所做的搜索找到明确的答案。将不胜感激任何帮助。谢谢!
SELECT
CLDR.YEAR_MONTH
,COUNT(DISTINCT TRAN.ACCT_NBR) AS IC_DD --counts all unique Acct numbers
FROM
REPORTS.FINANCIAL_TRAN AS TRAN
INNER JOIN REPORTS.ACCT AS ACCT ON TRAN.ACCT_NBR=ACCT.ACCT_NBR
INNER JOIN REPORTS.DATE AS CLDR ON TRAN.TRAN_DT=CLDR.CALENDAR_DATE
WHERE
TRAN.TRAN_CD IN ('id1','id2','id3') --Filters on Transaction IDs
AND
TRAN.TRAN_DT BETWEEN '2017-01-01' AND '2017-03-31'
GROUP BY
CLDR.YEAR_MONTH
ORDER BY
CLDR.YEAR_MONTH
【问题讨论】: