如何在 SQL(Oracle) 中计算特定日期后发送的消息?

How to count sent messages after specific day in SQL(Oracle)?

我最近收到一份报告,关于在取消订阅服务后发送到用户号码的短信 count 条,我需要查看此报告是否正确通过使用原始 table,下面是我的 tables 其中 table a 是报告, table b 是原始 table.

我需要计算服务在取消订阅日期之后发送的消息数量,并使用STATUS_CODE DeliveredOTB.Delivered 封邮件。

为了便于理解,我以这些号码的预期结果为例(9537603785678,9537123485905)每个号码只有一个取消订阅日期。

您将需要按如下方式使用分组方式:

select b.A_NUMBER, b.DEST_NUMBER, b.status_code, 
       count(distinct b.rowid) as msgs_count_after_unsub_date
From b join a
On (a.a_number = b.a_number
And a.dest_number = b.dest_number
And b.date >= a.unsubscription_date)
Group by b.A_NUMBER, b.DEST_NUMBER, b.status_code;

select b.A_NUMBER, b.DEST_NUMBER, b.status_code, 
       count(1) as msgs_count_after_unsub_date
From b where b.date
>= (select min(a.unsubscription_date)
From a where
a.a_number = b.a_number
And a.dest_number = b.dest_number)
Group by b.A_NUMBER, b.DEST_NUMBER, b.status_code;

干杯!!