(konsolidacja powyższej dyskusji)
Nie można wydajnie zamawiać według wyniku obliczeń. Aby to zapytanie działało szybko, utwórz ranking kolumna zawierająca c.age-UNIX_TIMESTAMP(c.newdate) . Następnie utwórz indeks na id i ranking , tj. CREATE INDEX id_ranking ON c (id, ranking) aby zindeksować zarówno GROUP BY, jak i ORDER BY.