Я пытаюсь получить ставки от анонимных людей и тех, кто зарегистрирован. Они находятся в разных таблицах.Сумма MySQL плюс кол-во в одном запросе
SELECT product.id, (SUM(users.rate + anonymous.rate)/COUNT(users.rate + anonymous.rate))
FROM products AS product
LEFT JOIN users ON users.id_product = product.id
LEFT JOIN anonymous ON anonymous.id_product = product.id
GROUP BY product.id
ORDER BY product.date DESC
Итак, таблицы, как следующее:
users-->
id | rate | id_product | id_user
1 2 2 1
2 4 1 1
3 5 2 2
anonymous-->
id | rate | id_product | ip
1 2 2 192..etc
2 4 1 198..etc
3 5 2 201..etc
То, что я пытаюсь с моим запросом: для каждого продукта, я хотел бы иметь среднее значение ставка. В настоящее время вывод является нулевым, но у меня есть значения в обеих таблицах.
Спасибо.
Почему бы не использовать ['AVG'] (http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_avg)? –
Я тщетно пытался. 'AVG (SUM (...))' -> Недопустимое использование групповой функции – user3065191
Разве вы не видите там SUM/COUNT? – user3065191