Using limit in group by (SQL) : This is my table.

    Financials:
        Date
        CountryID
        ProductID
        Revenue
        Cost

I need to find the top 5 products by revenue for each country. Some products will be listed more than once, so I need to sum the revenue for each product.



    SELECT Financials.CountryID, Financials.ProductID, sum(Financials.Revenue) as total
    FROM Financials
	INNER JOIN
		(SELECT CountryID,  GROUP_CONCAT(ProductID ORDER BY Revenue DESC) grouped_ID
			FROM Financials
			GROUP by CountryID) group_max
            	on Financials.CountryID = group_max.CountryID
            	  AND FIND_IN_SET(ProductID, grouped_ID) BETWEEN 1 AND 6

    GROUP BY Financials.ProductID
    ORDER BY Financials.CountryID, total desc

This what I have so far. It isn't working. Help?