(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.