агрегирования по заказу и добавляющий итога.
select order
, sum(price) total
from table
group by order
union all
select 'grand total' order
, sum(price) total
from table
;
Это обеспечивает необработанные данные в табличной структуре. Для создания специально отформатированного outpout вам понадобится инструмент отчетности. у некоторых rdbms есть клиенты командной строки, которые могут помочь вам с этим (например, sqlplus oracle), если вы не ожидаете слишком большого результата.
Редактировать (за комментарий ФП в):
Включая линии оригинальных порядка и представления строк в желаемом порядке требует дополнительного оборудования:
select *
from (
select order seq
, order
, line
, price total
from table
union all
select order || '-0' seq
, 'TL('||order||')' order
, null line
, total
from (
select order
, sum(price) total
from table
group by order
)
union all
select 'ZZZZZZ-9' seq
, grand total' order
, null line
, sum(price) total
from table
)
order by seq
;
Фактический состав seq
колонны зависит от фактический формат кодов заказов (редко проблема, поскольку их формат обычно ограниченным образом).
Как уже говорилось, для выходов вы можете выбрать подходящий инструмент.
Оба являются одной и той же таблицей или другой таблицей? – Arun
Существует только одна таблица со всеми строками порядка без общего расчета – user2775380
Это представление данных, а не то, для чего предназначен SQL. Играйте с UNION ALL, group by/sum и т. Д., Dummycolumns для заказа и т. Д., И это можно сделать. – jarlh