larry_langprice vs balance
    Updated 2024-08-16
    WITH RunningBalance AS (
    SELECT
    DATE_TRUNC('hour', BLOCK_TIMESTAMP) AS hour,
    SUM(CASE
    WHEN tx_to = '3eGdjMdQqFUNc4G64BZb7YCALDEaturLUWcixjJfKxEh' THEN amount
    WHEN tx_from = '3eGdjMdQqFUNc4G64BZb7YCALDEaturLUWcixjJfKxEh' THEN -amount
    END) OVER (ORDER BY BLOCK_TIMESTAMP) AS running_balance
    FROM
    solana.core.fact_transfers
    WHERE
    mint = '{{contract_ca}}'
    AND (tx_from = '3eGdjMdQqFUNc4G64BZb7YCALDEaturLUWcixjJfKxEh'
    OR tx_to = '3eGdjMdQqFUNc4G64BZb7YCALDEaturLUWcixjJfKxEh')
    ),
    PriceData AS (
    SELECT
    DATE_TRUNC('hour', hour) AS hour,
    price * 1000 AS price
    FROM
    solana.price.ez_prices_hourly
    WHERE
    token_address = '{{contract_ca}}'
    ),
    MaxValues AS (
    SELECT
    (SELECT MAX(running_balance) FROM RunningBalance) AS max_running_balance,
    (SELECT MAX(price) FROM PriceData) AS max_price
    )
    SELECT
    rb.hour,
    (rb.running_balance / mv.max_running_balance) * 10000 AS normalized_balance,
    (pd.price / mv.max_price) * 10000 AS normalized_price
    FROM
    RunningBalance rb
    LEFT JOIN
    PriceData pd ON rb.hour = pd.hour
    QueryRunArchived: QueryRun has been archived