Я попытаюсь просто исправить ваш исходный запрос, вместо того, чтобы написать другой:
SELECT
item.id,
count(distinct reviews.review_id) AS total_reviews,
count(distinct ratings.rating_id) AS total_ratings,
count(distinct reviews.review_id) + count(distinct ratings.rating_id) AS total_interactions
FROM
items
LEFT OUTER JOIN reviews ON
reviews.item_id = item.id
LEFT OUTER JOIN ratings ON
rating.item_id = item.id
GROUP BY
item.id
ORDER BY
total_interactions DESC
LIMIT 0, 1
Ключ здесь COUNT(DISTINCT field)
.Кстати, вероятно, вам просто нужно это значение total_ratings
- просто попробуйте и посмотрите, что вы получите.