Updated 2023-05-14
    with buytable1 as (
    select NFT_TO_ADDRESS ,TOKENID ,MINT_PRICE_ETH ,MINT_PRICE_USD ,tx_hash ,BLOCK_TIMESTAMP::DATE AS MINT_TIME
    from ethereum.core.ez_nft_mints
    where NFT_ADDRESS=lower('0x960b7a6bcd451c9968473f7bbfd9be826efd549a')
    and EVENT_TYPE ='nft_mint'
    and NFT_FROM_ADDRESS='0x0000000000000000000000000000000000000000'
    ),

    selltable1 as (
    select MIN(BLOCK_TIMESTAMP) AS DATE ,seller_address, tx_hash, tokenid, price_usd,price
    FROM ethereum.core.ez_nft_sales
    WHERE EVENT_TYPE = 'sale' and CURRENCY_SYMBOL = 'ETH'
    and lower(NFT_ADDRESS)=lower('0x960b7a6bcd451c9968473f7bbfd9be826efd549a')
    and price_usd > 0 and price > 0 GROUP BY 2,3,4,5,6 ORDER BY DATE )

    ,maintable as (select
    NFT_TO_ADDRESS,
    t1.tokenid,
    sum (t2.price_usd - t1.MINT_PRICE_USD) as USD_Profit,
    sum (t2.price - t1.MINT_PRICE_ETH) as ETH_Profit
    from buytable1 t1 join selltable1 t2 on NFT_TO_ADDRESS = seller_address and t1.tokenid = t2.tokenid
    WHERE MINT_TIME < (SELECT MIN(DATE) FROM selltable1 ) AND NFT_TO_ADDRESS !='0xd387a6e4e84a6c86bd90c158c6028a58cc8ac459'
    group by 1,2
    order by 3 DESC
    )

    select case when ETH_Profit > 0 then 'Profit'
    when ETH_Profit < 0 then 'Loss'
    when ETH_Profit = 0 then 'No Profit No Loss'
    end as type,ETH_Profit,
    case when USD_Profit > 0 then 'Profit'
    when USD_Profit < 0 then 'Loss'
    when USD_Profit = 0 then 'No Profit No Loss'
    end as typeS,USD_Profit,
    count (distinct NFT_TO_ADDRESS)
    from maintable
    Run a query to Download Data