From presence to frequency
The third question is how many times a particular item occurred. Exactly answered by a counter per distinct item, which costs space proportional to the number of distinct items and therefore fails for the same reason as before.
The fix follows the Bloom filter's shape. Keep a fixed grid of counters, hash each item to positions, and accept that unrelated items will share counters.
Graham Cormode and S. Muthukrishnan set out the structure and its analysis in "An improved data stream summary: the count-min sketch and its applications", Journal of Algorithms, volume 55, issue 1, 2005, pages 58 to 75.
The layout is a grid: d rows and w columns, one hash function per row. To record an occurrence, hash the item once per row and increment the counter at that row's column. Every item touches exactly d counters, one in each row.
Each row alone is a hash table with collisions and no resolution, so each row's counter is the true count plus the counts of everything else that landed there. The design is entirely about combining the rows to remove that contamination.

