Back on topic...
I've been haunted by Dr. Mike's idea of wanting to limit top posts to 1 per blog... in other words if a blog is very popular and they have multiple posts that are in the top posts, you might not want to show more than 1 of their posts in the list.
Anyway, I knew there had to be a way to do this with just a sql tweak to my plugin, so while I was debugging something else tonight, I let my brain wander back to this question, and I finally came up with the right SQL to do the trick.
If you want to do this, try adding a function to my top posts plugin that uses the following SQL...
SELECT blog_id,post_id,MAX(post_hits) as 'max_post_hits'
FROM
(SELECT blog_id, post_id, COUNT(post_id) AS 'post_hits'
FROM wp_blogs_zap_hits
WHERE post_id <> 0
GROUP BY blog_id, post_id
ORDER BY post_hits DESC) as top_posts
GROUP BY blog_id ORDER by max_post_hits DESC;
The trick here is that you're essentially using the normal query that's in the code already as a subquery for another query that pulls out the max post_hits.
If this makes sense to you then go for it...
Otherwise I do plan to make a release of the top posts plugin soon that adds this feature as well as adds the top_blogs code suggested by ezequielc and fixes a caching bug found by Nis (and confirmed by me as it was messing up my dashboard on one of my blogs).
follow me?