Подсчитать объединенные значения доходов

0

Я пытаюсь подсчитать доходы каждого человека из Германии и выбрать того, кто имеет большинство из них.

Похоже, что сумма рассчитывает все доходы вместо каждого отдельно.

Что я здесь делаю неправильно?

SELECT users.name, sum(revenues.value) as suma  FROM 'users' 

JOIN revenues 
ON users.id = revenues.user_id

WHERE users.country = "de"

ORDER BY suma DESC
LIMIT 1
Теги:

2 ответа

1
Лучший ответ

Я редко использую MySQL, но похоже, что вам не хватает GROUP BY

SELECT users.name, sum(revenues.value) as suma  FROM 'users' 

JOIN revenues 
ON users.id = revenues.user_id

WHERE users.country = "de"

GROUP BY users.name

ORDER BY suma DESC
LIMIT 1
1

Для правильного результата функции агрегирования вы должны использовать группу по

SELECT users.name, sum(revenues.value) as suma  
FROM 'users' 
JOIN revenues ON users.id = revenues.user_id
WHERE users.country = "de"
group by  users.name 
ORDER BY suma DESC
LIMIT 1

Ещё вопросы

Сообщество Overcoder
Наверх
Меню