У меня есть 2 стола, один из них - поставщик, а другой - поставщик_feedback - как я могу рассчитать средний рейтинг для каждого поставщика? В настоящее время у меня есть это:Среднее значение из другого таблицы MySQL
SELECT s.premium, s.supplier_id, s.name, s.phone, s.website,
s.price_low, s.price_high, s.address1, s.address2, s.town,
s.county, s.postcode,
(SUM(f.rating)/(COUNT(f.rating) -1)) AS rate,
GROUP_CONCAT(REPLACE(t.name, ' ', ',') SEPARATOR ',') AS tags
FROM suppliers AS s
JOIN suppliers_to_tags AS st ON st.supplier_id = s.supplier_id
JOIN supplier_tags AS t ON t.tag_id = st.tag_id
JOIN supplier_feedback AS f ON s.supplier_id = f.supplier_id
GROUP BY s.supplier_id
HAVING tags LIKE '%HI%'
ORDER BY s.premium DESC
LIMIT 0 , 30
Но я получаю очень странные результаты, которые определенно неверны.
Таблица поставщика_feedback будет иметь много записей, но первая запись должна быть дисконтирована по разным причинам.
Вы используете функцию AVG? http://www.w3schools.com/SQL/sql_func_avg.asp – Adrian
Вы хотите, чтобы первая запись таблицы поставщика_feedback для каждого поставщика игнорировалась или только первая запись в таблице? – Chris