У меня есть запрос типа:
SELECT DISTINCT
g.thumb, h.hotel_name, h.id, COUNT(c.id) as total_comments, SUM(c.rating) AS total_ratings
FROM
at_hotels h
LEFT JOIN
at_gallery g
ON
h.id = g.h_id
LEFT OUTER JOIN
at_comments c
ON
h.id = c.h_id AND c.status = '1'
GROUP BY h.id
ORDER BY h.id DESC LIMIT 5
Запрос работает, кроме SUM (рейтинг).Команда Sum дает больше, чем ожидалось.Я также попробовал команду SUM следующим образом:
--query
(SELECT SUM(rating) FROM at_comments WHERE at_comments.h_id = at_hotels.id) AS total
--more query
, и это тоже не работает.
всего должно быть: 13, но это дает 36. В чем проблема?
Пример данных: (Таблица комментариев)
id h_id rating
----------
1 | 1 |5
----------
2 | 1 |3
----------
3 | 1 |5
Мои таблицы: