powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Cумма разности по всем строка
5 сообщений из 5, страница 1 из 1
Cумма разности по всем строка
    #39920476
vipTelnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет
Есть вот такая табличка
Скрин в аттаче

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

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

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

в итоге пока что пользуюсь таким котом
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
(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 записей а потом будет не сколько тысяч
Что конечно же не удобно, хотелось бы сразу на выходе получать нужную сумму
...
Рейтинг: 0 / 0
Cумма разности по всем строка
    #39920479
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Group By смотри
...
Рейтинг: 0 / 0
Cумма разности по всем строка
    #39928881
vipTelnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот сделал
если вдруг кому пригодится

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


Общая сумма заработка всех аккаунтов
Код: sql
1.
SELECT SUM(earns.earn) FROM (SELECT `account_id`, (MAX(`balance`) - MIN(`balance`)) as earn FROM `statistic` GROUP BY `account_id`) as earns
...
Рейтинг: 0 / 0
Cумма разности по всем строка
    #39928900
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GROUP BY .. WITH ROLLUP посчитает и суммы.

GROUP BY Modifiers
...
Рейтинг: 0 / 0
Cумма разности по всем строка
    #39967164
vipTelnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да можно было и так
Код: sql
1.
SELECT `account_id`, (MAX(`balance`) - MIN(`balance`)) as earn FROM `statistic` GROUP BY `account_id` WITH ROLLUP
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Cумма разности по всем строка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]