--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