Hola de nuevo...
Me da gusto ver que creo que te ha servido la consulta, mira, el orden en que deben aparecer los comentaristas está dado por esta consulta;
Código:
SET @num = 0;
SELECT MAX(fecha) fecha, usuario, comentarista,
@num := @num + 1 AS row_number
FROM tabla
WHERE usuario = 'fran'
GROUP BY usuario, comentarista
ORDER BY fecha DESC;
Verifica que no hayas omitido la parte del ORDER BY, que es justamente lo que hace que Angel deba ir antes Helen...
Esta consulta debería regresarte algo como esto:
Código MySQL:
Ver original+-------+---------+--------------+------------+
| fecha | usuario | comentarista | row_number |
+-------+---------+--------------+------------+
| 2012 | fran | laura | 1 |
| 2011 | fran | angel | 2 |
| 2000 | fran | helen | 3 |
+-------+---------+--------------+------------+
es decir, el año Máximo para cada comentarista y la posición (row_number) en la que debería aparecer... creo que por ahí puede estar el error... Observa que hay tres ORDER BY en la consulta, uno para cada subconsulta y uno para la consulta final.
Saludos
Leo.