Я ищу запрос к таблице счетов, которая также отслеживает, какие "программные" клиенты были во время их покупок (не лучший способ сохранить это, но это то, что есть, и мне остается иметь дело с этим).
Мне бы хотелось узнать, как долго каждый клиент был в каждой программе.
Например, вот история покупок, сделанных парой клиентов. Мы видим, что клиенты были на разных программах в разные даты. Обратите внимание, что идентификаторы программ на самом деле не являются последовательными (возможно, они запускаются в программе с более высоким идентификатором, чем в следующей программе).
invoices table:
cust_id, prog_id, datetime
1, 1, 2020-01-01 < cust 1 first seen on program 1
2, 1, 2020-01-05 < cust 2 first seen on program 1
1, 1, 2020-02-07
1, 2, 2020-02-08 < cust 1 seen on program 2 after 38 days
2, 1, 2020-02-10
2, 2, 2020-02-15 < cust 2 seen on program 2 after 41 days
1, 2, 2020-02-15
2, 2, 2020-02-15
1, 2, 2020-02-22
1, 3, 2020-02-28 < cust 1 seen on program 3 after 20 days
2, 2, 2020-03-05
2, 2, 2020-03-07
2, 3, 2020-03-15 < cust 2 seen on program 3 after 29 days
2, 3, 2020-03-17
Я хотел бы видеть что-то подобное (сделано в моей голове, надеюсь, математика проверяется):
cust_id, prg_id, days_on_prog
1, 1, 38
1, 2, 20
2, 1, 41
2, 2, 29
2, 3, 2
Обратите внимание, что клиента 1 больше не видели в программе 3 чем один раз, поэтому у нас нет программы days_on_prog для них в программе 3.
Можете ли вы помочь мне создать такой запрос?