У меня есть таблица, как этотРассчитать правильное количество в запросе?
| customer_id | item_id | price | amount |
Я хочу, чтобы получить сумму денег, каждый клиент провел в одном запросе.
Я попытался:
SELECT SUM(price * amount) AS total FROM table GROUP BY customer_id
но выплевывает астрономически высокие значения total
. Это не может быть правильно.
Я также попытался
SELECT @total := @total + (price * amount) AS total FROM table
CROSS JOIN (SELECT @total := 0) CONST
GROUP BY customer_id
, но это не начинается с 0
для каждого клиента, поэтому предыдущие итоги будут складывают ...
Как правильно восстановить данные, которые я хочу?
Это не имеет ничего общего с расчетом общей суммы. –
Вопрос "каждый клиент" –
. , Агрегация определяется предложением 'group by'. Наличие столбцов в предложении 'select' не влияет на количество строк, созданных запросом. Я согласен с тем, что 'customer_id' должен находиться в предложении' select', но это не было проблемой в запросе. –