(consolidando la discussione sopra)
Non puoi ordinare in modo efficiente in base a un risultato di calcolo. Per fare in modo che questa query funzioni velocemente, crea una ranking colonna che contiene c.age-UNIX_TIMESTAMP(c.newdate) . Quindi crea un indice su id e ranking , ovvero CREATE INDEX id_ranking ON c (id, ranking) per indicizzare sia GROUP BY che ORDER BY.