mysql : выполните расчет по идентификатору пользователя и сохраните значение в другой таблице

#mysql #sum

Вопрос:

Я пытаюсь вычислить СУММУ в таблице записей с помощью двух ограничений(идентификатор пользователя и символ) и сохранить значение в другой таблице под названием вычисление.Я пытаюсь сделать следующее, но это не работает.Кто-нибудь может дать мне несколько советов?

 UPDATE records, calculation
SET calculation.sumOfAmount=sum(records.amount) 
WHERE records.user_id=calculation.user_id AND records.symbol=calculation.symbol
 

Ответ №1:

 UPDATE calculation c
JOIN 
(
    SELECT user_id, symbol, sum(amount) as sum_amount
    FROM records
    GROUP BY user_id, symbol
) r ON r.user_id = c.user_id AND r.symbol = c.symbol
SET c.sumOfAmount = r.sum_amount