WITH mm_wallets AS (
SELECT DISTINCT from_address
FROM ethereum.core.fact_transactions
WHERE to_address = '0x881d40237659c251811cec9c364ef91dc08d300c'
),
nft_projects AS (
SELECT nft_address, project_name
, COUNT(DISTINCT tx_hash) as tx_num
, row_number() OVER(ORDER BY tx_num desc) AS rank
FROM ethereum.core.ez_nft_sales
JOIN mm_wallets ON from_address = buyer_address
GROUP BY nft_address, project_name
)
SELECT nft_address, project_name, tx_num, rank
FROM nft_projects
WHERE rank <= 10