SELECT
SWAP_PROGRAM,
EXTRACT(HOUR FROM BLOCK_TIMESTAMP) AS Hour,
COUNT(*) AS Swap_Count
FROM
solana.defi.fact_swaps
WHERE
SUCCEEDED = TRUE
AND BLOCK_TIMESTAMP BETWEEN '2024-05-01' AND '2024-05-31'
GROUP BY
SWAP_PROGRAM,
Hour
ORDER BY
SWAP_PROGRAM,
Swap_Count DESC;