Problemet är här:
`ORDER BY karma...
Du kan inte beställa efter något som definieras som ett alias. Prova detta:
`ORDER BY ((SUM(votes.karma_up) - SUM(votes.karma_down)) - 1) / POW((TIMESTAMPDIFF(HOUR, links.created, NOW()) + 2), 1.5) DESC`
Förhoppningsvis kan DB komma på att inte utvärdera det två gånger. Om inte, använd en inre markering utan ordningen genom att först skapa aliaset, använd sedan en annan markering för att beställa.