У меня есть набор данных, который определяет рейтинги в таблице опроса для событий в разных местах.
Я пытаюсь отобразить среднюю оценку для каждого местоположения со средним значением для всех местоположений в последней строке.
В данный момент мой запрос выглядит следующим образом:
SELECT
IFNULL(l.title, 'Total') AS location,
ROUND(AVG(NULLIF(s.rating, 0)), 2) AS rating
FROM surveys s
INNER JOIN events e
ON e.id = s.event_id
INNER JOIN locations l
ON l.id = e.location_id
GROUP BY l.title WITH ROLLUP
Это дает мне следующие значения для каждого местоположения:
8.22, 8.67, 8.67, 8.56, 7.86, 8.50. 8.78, 7.33
Однако, итоговый итогвозвращается как 8.37, но на самом деле должно быть 8.32.
Я что-то не так делаю?