Użyj:
SELECT `id`,
`hits` + `other_hits` AS `total_hits`
FROM `something`
HAVING `total_hits` > 30
Najwcześniejszym MySQL pozwalającym na odniesienia do aliasów kolumn jest GROUP BY
klauzula; klauzule po tym obsługują odwołania (HAVING
, ORDER BY
). Większość innych baz danych nie obsługuje odwoływania się do aliasu tabeli przed ORDER BY
, co zwykle wymaga użycia pochodnej tabeli/widoku wbudowanego:
SELECT t.id, t.total_hits
FROM (SELECT `id`,
`hits` + `other_hits` AS `total_hits`
FROM `something`) t
WHERE t.total_hits > 30
W przeciwnym razie musisz ponownie użyć logiki w klauzuli WHERE:
SELECT `id`,
`hits` + `other_hits` AS `total_hits`
FROM `something`
WHERE `hits` + `other_hits` > 30