PlaywoBalances
Updated 2023-07-20
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
35
36
›
⌄
WITH microstrategy_addresses AS (
SELECT $1 AS address
FROM (VALUES
('1FzWLkAahHooV3kzTgyx6qsswXJ6sCXkSR'),
('1JHceFenZHACSRPD6tE4bfU6yJ83wTG6kH'),
('1LQoWist8KkaUXSPKZHNvEyfrEkPHzSsCd'),
('1P5ZEDWTKTFGxQjZphgWPQUpe554WKDfHQ'),
('bc1qhk0ghcywv0mlmcmz408sdaxudxuk9tvng9xx8g'),
('bc1ql49ydapnjafl5t2cp9zqpjwe6pdgmxy98859v2'),
('bc1qmxcagqze2n4hr5rwflyfu35q90y22raxdgcp4p')
)
),
out_movements AS (
SELECT TRUNC(block_timestamp, 'day') AS date,
sum(value) AS total_value
FROM bitcoin.core.fact_inputs
WHERE pubkey_script_address IN (SELECT * FROM microstrategy_addresses)
GROUP BY date
),
in_movements AS (
SELECT TRUNC(block_timestamp, 'day') AS date,
sum(value) AS total_value
FROM bitcoin.core.fact_outputs
WHERE pubkey_script_address IN (SELECT * FROM microstrategy_addresses)
GROUP BY date
),
timeframe AS (
SELECT date_day AS date
FROM crosschain.core.dim_dates
WHERE date_day >= (SELECT min(date) FROM in_movements) AND date_day <= CURRENT_DATE
)
SELECT t.date, NVL(i.total_value, 0) - NVL(o.total_value, 0) AS movement,
sum(movement) OVER (ORDER BY t.date ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS balance
FROM timeframe t
LEFT JOIN out_movements o ON o.date = t.date
Run a query to Download Data