之后插入表格的名称
我使用信用卡帐户。每天,每个帐户都会在我们的数据库中添加记录。有关联的数据(与此无关(,但是如果帐户处于活动状态或现在,则有一列显示一个布尔值(1,0(,以及该记录的日期
数据看起来有点像这样
ACCOUNT DATA1 DATA2 ISACTIVE INSERT DATE
1234 XXX XXXX 1 5/1/2019
1234 XXX XXXX 1 5/2/2019
1234 XXX XXXX 1 5/3/2019
1234 XXX XXXX 1 5/4/2019
5678 XXX XXXX 1 5/1/2019
5678 XXX XXXX 1 5/2/2019
5678 XXX XXXX 1 5/3/2019
5678 XXX XXXX 1 5/4/2019
我希望弄清楚每月有效的帐户(根据每个月的第一个(大约18个月。我不确定如何为此编码。
我感谢任何帮助
SELECT Count(DISTINCT account)
FROM t
WHERE isactive = 1
GROUP BY Month(insert_date),
Year(insert_date)
尝试以下:
SELECT YEAR([INSERT DATE]) AS [Year], MONTH([INSERT DATE]) AS [Month], COUNT(DISTINCT [Account]) AS [UniqueActiveAccounts]
FROM [YourTableName]
WHERE [ISACTIVE] = 1 AND [INSERT DATE] > DATEADD(MONTH,-19,GETDATE())
GROUP BY YEAR([INSERT DATE]), MONTH([INSERT DATE])
此查询从您运行此查询的时间起18个月后获取数据。您可以在 dateadd 查询的一部分中调整此期间。
当然,您需要在>。
您可以尝试在月份进行分组(插入日期(:
SELECT month([INSERT DATE]) as month_num,count(distinct ACCOUNT) as ACCOUNT_num
from table
group by month([INSERT DATE])