Я пытаюсь использовать два псевдоним (like_count и dislike_count) построить новое поле (оценки), который будет использоваться для целей заказа. Ниже приведен текущий фрагмент запроса, который не работает. Я получаю следующую ошибку при следующем запросе: «Неизвестный столбец« like_count »в полевом списке». Я искал аналогичный вопрос о SO, но не смог найти решение. У кого-нибудь есть идея, как это сделать?MySQL: Как использовать псевдоним для создания нового поля?
SELECT comment.id, comment.content,
SUM(if(comment_reaction.type = 'like', 1, 0)) as like_count,
SUM(if(comment_reaction.type = 'dislike', 1, 0)) as dislike_count,
((like_count + 1.9208)/(like_count + dislike_count) -
1.96 * SQRT((like_count * dislike_count)/(like_count + dislike_count) + 0.9604)/
(like_count + dislike_count))/(1 + 3.8416/(like_count + dislike_count))
as score,
(SELECT comment_reaction.type FROM comment_reaction
WHERE comment_reaction.person_id = :person_id
AND comment.id = comment_reaction.comment_id) as my_reaction
FROM comment
LEFT JOIN comment_reaction ON comment.id = comment_reaction.comment_id
WHERE comment.topic_id = :topic_id
GROUP BY comment.id
ORDER BY score DESC LIMIT 0, 10
Вы не можете использовать имя поля псевдонима в действии –