N superior por problema de Sql de grupo no mysql

Por favor, estou com um problema ao consultar o N superior por categoria de um conjunto de dados semelhante ao mostrado abaixo. Tenho visto vários tópicos sobre isso, mas estou tendo problemas para adaptar sua consulta ao meu problema específico.

+----+---------------------------------+-------+
| ID | Prod                            |Cat Id |
+----+---------------------------------+-------+
|  1 |  kntrn                          |     1 |
|  2 | kntrn e                         |     1 |
|  3 | e spl                           |     1 |
|  4 | spl php                         |     1 |
|  5 | php cicarredgtal                |     1 |
|  6 | cicarredgtal servecounterstrike |     1 |
|  7 | servecounterstrike com          |     1 |
|  8 |  zlv                            |     2 |
|  9 | zlv enter                       |     2 |
| 10 | spl php                         |     2 |
+----+---------------------------------+-------+

Quero agrupar com base nesta regra (1) Selecione os 3 principais produtos para cada categori

Observe que o topo nesse sentido é a contagem mais alta de prod em todas as categoria

Então, no exemplo acima, o spl php é o mais alto para o catID 1 porque ocorre duas vezes em todas as categoria

questionAnswers(1)

yourAnswerToTheQuestion