mlhbalance 2
Updated 2022-09-07
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
›
⌄
with volume_in as (select TX_RECEIVER,
sum(deposit / power(10, 24)) as volume_ins
FROM near.core.fact_transfers
group by 1
),
volume_out as (select TX_SIGNER,
sum(deposit / power(10, 24)) as volume_outs
from near.core.fact_transfers
group by 1
),
category as (SELECT TX_RECEIVER as users,
case when near_balance <10 then 'less than 10 Near balance'
when near_balance >=10 and near_balance <50 then 'balance between 10 to 50 Near'
when near_balance >=50 and near_balance <100 then 'balance between 50 to 100 Near'
when near_balance >=100 and near_balance <200 then 'balance between 100 to 200 Near'
when near_balance >=200 and near_balance <500 then 'balance between 200 to 500 Near'
when near_balance >=500 and near_balance <1000 then 'balance between 500 to 1K Near'
else 'balance more than 1K Near'
end as category
FROM (SELECT *,
volume_ins - volume_outs as near_balance
FROM volume_in
LEFT OUTER join volume_out on tx_signer = tx_receiver
HAVING near_balance > 0
)
)
SELECT CATEGORY,
count(DISTINCT users) as wallets_count
FROM near.core.fact_transactions
LEFT outer JOIN category ON users = TX_SIGNER
GROUP BY 1
HAVING not CATEGORY is NULL
Run a query to Download Data