Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / MySQL Новый топик    Ответить
 Cумма разности по всем строка  [new]
vipTelnet
Member

Откуда:
Сообщений: 114
Всем привет
Есть вот такая табличка
Скрин в аттаче

И нужно как то посчитать разность баланса по каждому из аккаунтов а потом желательно как то сразу все это просуммировать

Разность баланса у меня получилось по считать как
(MAX(`balance`) - MIN(`balance`))

а вот как это заставить сделать по каждому пользователя, да еще потом и про суммировать я не знаю

в итоге пока что пользуюсь таким котом
(SELECT (MAX(`balance`) - MIN(`balance`)) as earn FROM `statistic` WHERE `account_id`= 1)
    UNION ALL
(SELECT (MAX(`balance`) - MIN(`balance`)) as earn FROM `statistic` WHERE `account_id`= 2)
    UNION ALL
.
.
.
    UNION ALL
(SELECT (MAX(`balance`) - MIN(`balance`)) as earn FROM `statistic` WHERE `account_id`= 29)
    UNION ALL
(SELECT (MAX(`balance`) - MIN(`balance`)) as earn FROM `statistic` WHERE `account_id`= 30)


Короче по каждой из записи получаю эту разность юнионами все это объединяю и иду в эксель где делаю расчет суммы.
Бред конечно полный, так как сейчас там 30 записей а потом будет не сколько тысяч
Что конечно же не удобно, хотелось бы сразу на выходе получать нужную сумму

К сообщению приложен файл. Размер - 143Kb
30 янв 20, 13:30    [22069513]     Ответить | Цитировать Сообщить модератору
 Re: Cумма разности по всем строка  [new]
982183
Member

Откуда: VL
Сообщений: 3349
Group By смотри
30 янв 20, 13:36    [22069516]     Ответить | Цитировать Сообщить модератору
 Re: Cумма разности по всем строка  [new]
vipTelnet
Member

Откуда:
Сообщений: 114
Вот сделал
если вдруг кому пригодится

Подсчет заработка по каждому аккаунту
(SELECT `account_id`, (MAX(`balance`) - MIN(`balance`)) as earn FROM `statistic` GROUP BY `account_id`)

Общая сумма заработка всех аккаунтов
SELECT SUM(earns.earn) FROM (SELECT `account_id`, (MAX(`balance`) - MIN(`balance`)) as earn FROM `statistic` GROUP BY `account_id`) as earns
20 фев 20, 13:21    [22083728]     Ответить | Цитировать Сообщить модератору
 Re: Cумма разности по всем строка  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20026
GROUP BY .. WITH ROLLUP посчитает и суммы.

GROUP BY Modifiers
20 фев 20, 13:43    [22083758]     Ответить | Цитировать Сообщить модератору
Все форумы / MySQL Ответить