每日记录每月计数



我使用信用卡帐户。每天,每个帐户都会在我们的数据库中添加记录。有关联的数据(与此无关(,但是如果帐户处于活动状态或现在,则有一列显示一个布尔值(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])

最新更新