--Token Contract Address为Token合约地址
--decimals 为Token的精度,在以太坊浏览器中查询
SELECT 
    replace(cast(address as varchar),'\\','0')  as Wallet_Address
    ,SUM(amount / power(10,{{decimals}}))AS Token_Balance 
FROM 
(

    SELECT 
        "from" AS address
        , -SUM(value) AS amount
    FROM erc20."ERC20_evt_Transfer"
    WHERE contract_address = CONCAT('\\x', substring('{{Token Contract Address}}' from 3))::bytea -- Token address
    GROUP BY 1

    UNION ALL

    SELECT 
        "to" AS address
        , SUM(value) AS amount
    FROM erc20."ERC20_evt_Transfer"
    WHERE contract_address = CONCAT('\\x', substring('{{Token Contract Address}}' from 3))::bytea -- Token address
    GROUP BY 1

) ERC20_evt_Transfer_info
GROUP BY  1
ORDER BY 2 DESC