сказать, что я следующий SQL
даного:Mysql с помощью «как» для более расчета
SELECT
COUNT(UHAM.module_id) AS total,
COUNT(CASE WHEN UHAM.is_complete = 1
THEN 1
ELSE NULL END) AS complete,
(total/complete * 100) AS percentage,
AT.name
FROM user_has_academy_module UHAM
JOIN academy_team AT ON AT.id = UHAM.academy_team_id
WHERE academy_team_id IN (317, 305)
GROUP BY UHAM.academy_team_id;
Как вы можете видеть ив используется total
и complete
, чтобы попытаться вычислить новое значение. Однако это не может быть сделано, как мой сценарий говорит: unknown column total
Так что мой вопрос: есть ли способ сделать выше или мне нужно писать так же count
заявление еще раз (что делает SQL своего рода грязный)
Недопустимый элемент GROUP BY. (Не будет выполняться на более новых версиях MySQL. Вернет произвольные данные с использованием более старых версий MySQL.) В общем правиле GROUP BY указано: Если указано предложение GROUP BY, каждая ссылка столбца в списке SELECT должна либо идентифицировать столбец группировки, либо быть аргумент функции набора! – jarlh