Сумма mysql (column2 - column1) с накоплением

Мне нужна помощь с моим запросом MySQL. У меня есть одна таблица, которая выглядит как:

введите описание изображения здесь

И тогда я хочу выбрать с помощью этого запроса:

select id, class, defaut, input, round(input - defaut) test from table1
group by class, id with rollup

Я хочу вывод как:

введите описание изображения здесь

Но мой запрос дал мне так:

введите описание изображения здесь

пожалуйста за вашу помощь, спасибо

2 ответа

Решение

Вам нужно сложить поля по умолчанию, поля ввода и рассчитанные поля, чтобы получить ожидаемый результат, в противном случае rollup просто вернет значение из последней записи:

select id, class, sum(defaut), sum(input), sum(round(input - defaut)) test from table1
group by class, id with rollup

Последний запрос:

select id, class, sum(defaut), sum(input), sum(input - defaut) test from
 table1 
group by class, id with rollup

Спасибо за вашу помощь.

Другие вопросы по тегам