WITH proposal_voters AS (
SELECT
block_timestamp :: date AS day,
voter,
proposal_id
FROM osmosis.core.fact_governance_votes
qualify(ROW_NUMBER() over(PARTITION BY voter, proposal_id
ORDER BY
block_timestamp ASC)) = 1
)
SELECT
count(voter) as total_voters,
proposal_id
FROM proposal_voters
GROUP BY proposal_id