Как подсчитать сумму значений столбца в mysql?

Рейтинг: 0Ответов: 1Опубликовано: 19.05.2023

Есть такой запрос:

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 теперь распознается благодаря его определению в начале запроса.