No sé si he entendido bien, pero parece que quieres los valores de los campos f1, f2 y el valor del máximo f3 repetido. Puede hacerse, claro, pero antes debes entender un concepto:
el MAX() es un valor de agregado, es decir, el max del campo f3 es un solo valor de entre todos los distintos valores de f3, y por tanto se espararía que devolviera una sola fila y es lo que hace para ese valor, mientras que el nombre f1 y f2 está pidiendo los valores cualesquiera que sean de esos campos y la consulta devuelve una fila por registro. Si quieres eso que pareces pedir, tienes que usar una subconsulta para traerte lo que quieres. Si esto no te da lo que quieres, aclara lo que quieres un poco más.