Para eso debes hacer lo que aronaaron te dice: debes agrupar por el valor que deseas que diversifique.
Cuando pones DISTINCT, lo que le dices es que devuelva los registros donde
el conjunto comprendido por los campos soliciatados en el SELECT sea distinto al menos en un valor. Si tienes 28 registros de atún, todos del mismo peso, pero diferentes longitudes,
son 28 registros distintos. Para que los considere uno sólo deberían ser todos del mismo largo.
La solución es el agrupamiento por el tipo de pez:
Código SQL:
Ver originalSELECT DISTINCT
R.id_especie,
R.kg, records.cm,
R.imajen
FROM records R
ORDER BY especie, kg DESC
GROUP BY especie;
Detalle: Estás invocando
especie.especie, lo que implicaría que estás haciendo un JOIN con una tabla denominada "especie", que no aparece en la sentencia. Eso debe dar un error de sintaxis.
Revisa...