SQL Server Group By с нерегулярными критериями диапазона дат - PullRequest
0 голосов
/ 01 июля 2019

У меня есть две таблицы SQL Server в следующих форматах:

events (rows are unique by id)

id,event_of_interest_date
1,2018-01-01
2,2019-07-15
3,2014-01-05

transactions (there are multiple rows per id)

id,transaction_dates
1,2017-02-12
1,2018-01-01
1,2019-02-05
2,2014-03-20
2,2015-03-02
2,2016-05-07
3,2014-01-05
3,2015-02-07
3,2016-04-08

Я пытаюсь выполнить подсчет числа транзакций, которые происходят после даты события индекса, по id, чтобы получить следующее:

id,event_count
1,1
2,0
3,2

1 Ответ

2 голосов
/ 01 июля 2019

Вот один метод, использующий left join и group by:

select e.id, count(t.id)
from events e left join
     transactions t
     on t.id = e.id and
        t.transaction_date > e.event_of_interest_date
group by e.id;
...