(konsoliderar diskussionen ovan)
Du kan inte beställa effektivt genom ett beräkningsresultat. För att få den här frågan att fungera snabbt, skapa en ranking
kolumn som innehåller c.age-UNIX_TIMESTAMP(c.newdate)
. Skapa sedan ett index på id
och ranking
, dvs. CREATE INDEX id_ranking ON c (id, ranking)
för att göra både GROUP BY och ORDER BY indexerade.