Вы можете group by actor_id
и суммировать условно, если существует последовательный день:
select
t.actor_id,
sum(case when exists (
select 1 from tablename
where
actor_id = t.actor_id and
julianday(created_at) - julianday(t.created_at) = 1
) then 1 else 0 end) streak
from tablename t
group by t.actor_id
См. Демоверсию .Или с самостоятельным соединением:
select
t.actor_id,
sum(tt.created_at is not null) streak
from tablename t left join tablename tt
on tt.actor_id = t.actor_id and julianday(tt.created_at) - julianday(t.created_at) = 1
group by t.actor_id
См. демо .
Результаты:
| actor_id | streak |
| -------- | ------ |
| 40 | 3 |
| 41 | 0 |