(consolidando la discusión anterior)
No puede ordenar de manera eficiente por un resultado de cálculo. Para que esta consulta funcione rápido, crea una ranking columna que contiene c.age-UNIX_TIMESTAMP(c.newdate) . Luego crea un índice en id y ranking , es decir, CREATE INDEX id_ranking ON c (id, ranking) para indexar tanto GROUP BY como ORDER BY.