Вы не можете использовать псевдоним, определенный в том же предложении SELECT
, в котором он определен.
Вам потребуется повторить выражение:
SUM(uto.points) + SUM(utl.points) AS total_points
Если SUM
s может be NULL
:
COALESCE(SUM(uto.points), 0) + COALESCE(SUM(utl.points), 0) AS total_points
В качестве альтернативы вы можете использовать подзапрос:
SELECT t.*, coalesce(total_points_live, 0) + coalesce(total_points_online, 0) total_points
FROM (
SELECT uf.*, SUM(uto.points) AS total_points_live, SUM(utl.points) AS total_points_online
FROM ...
GROUP BY uf.id
) t
ORDER BY total_points desc
Не связанные примечания: GROUP BY
и SELECT *
не go вместе хорошо; Хорошей практикой является перечисление всех неагрегированных столбцов в предложении GROUP BY
(хотя MySQL несколько слабоват).