adriaparcerisasaxelar recap 9
    Updated 2022-12-02
    WITH
    t1 as (
    SELECT
    distinct trader,
    min(block_timestamp) as debut
    from osmosis.core.fact_swaps
    where to_currency='ibc/903A61A498756EA560B85A85132D3AEE21B5DEDD41213725D22ABF276EA6945E'
    and block_timestamp>=CURRENT_DATE-INTERVAL '1 MONTH'
    group by 1
    ),
    t2 as (
    SELECT
    distinct x.trader,
    min(block_timestamp) as selling_date
    from osmosis.core.fact_swaps x
    join t1 on x.trader=t1.trader and x.block_timestamp>t1.debut
    where from_currency='ibc/903A61A498756EA560B85A85132D3AEE21B5DEDD41213725D22ABF276EA6945E'
    and block_timestamp>=CURRENT_DATE-INTERVAL '1 MONTH'
    group by 1
    ),
    t3 as (
    SELECT
    distinct trader,
    current_date as selling_date
    from t1 where trader not in (select trader from t2)
    ),
    t4 as (
    SELECT t2.trader, datediff('day',debut,selling_date) as days_holding
    from t2 join t1 on t2.trader=t1.trader
    union
    select t3.trader, datediff('day',debut,selling_date) as days_holding
    from t3 join t1 on t3.trader=t1.trader
    order by 2 desc
    )
    select
    case when days_holding<1 then '1. Less than a day'