Mysql Ошибка: # 1247 - Ссылка 'Карма' не поддерживается (ссылка на функцию группы)
Вот мой запрос MySQL ниже. Через много полезных вопросов и комментариев я почти в конце моего путешествия. Идея, лежащая в основе этого запроса, заключается в том, что пользователь отправляет ссылку, приложение вставляет две строки, одну в ссылки, а другую в голоса (голос по умолчанию, почему бы пользователю не проголосовать за свою заявку?) Тогда каждый голос - это просто другая строка. в таблице голосов с либоkarma_up
или жеkarma_down
равный 1 (скоро будет изменен наkarma_delta
сэкономить на дополнительном столбце. У меня также есть алгоритм популярности, который, кажется, нарушает мой запрос. Выполнение запроса ниже гарантирует мне эту ошибку.
#1247 - Reference 'karma' not supported (reference to group function)
Весь смысл большинства этого запроса - получить карму
SELECT links.*, (SUM(votes.karma_up) - SUM(votes.karma_down)) AS karma
FROM links, votes
WHERE links.id = votes.link_id
GROUP BY votes.link_id
ORDER BY (karma - 1) / POW((TIMESTAMPDIFF(HOUR, links.created, NOW()) + 2), 1.5) DESC
LIMIT 0, 100
Без алгоритма популярности наORDER BY
часть запроса выполняется отлично, добавляя суммированную карму изvotes
таблица и привязка к дополнительному столбцу с его значением.