Как подсчитать сумму значений столбца в mysql?
Есть такой запрос:
SELECT
name_cust, name_service, date_complite, cost_service,
COUNT(name_service) AS count,
cost_service * COUNT(name_service) AS sums,
SUM(sums) as total
FROM
ordersComplite
GROUP BY
name_cust, name_service;
Пишет в перечислении столбцов есть неизвестный sums. Как сделать его известным?) Мне надо чтобы после подсчета произведения в sums, в столбце total высчитывалась сумма всего столбца sums. Как это можно сделать, не добавляя новых столбцов в таблицу?
Ответы (1 шт):
Чтобы использовать вычисляемый столбец sums в запросе, необходимо повторить его определение в предложении SELECT, а затем использовать функцию SUM() для получения суммы значений этого столбца. В вашем случае предложение SELECT должно быть следующим:
SELECT name_cust, name_service, date_complite, cost_service, COUNT(name_service) AS count, cost_service * COUNT(name_service) AS sums, SUM(cost_service * COUNT(name_service)) as total
FROM ordersComplite GROUP BY name_cust, name_service;
Теперь столбец sums будет известен и вы можете использовать его вычисленные значения в столбце total, используя функцию SUM(). Обратите внимание, что название столбца sums теперь распознается благодаря его определению в начале запроса.