Вы можете использовать такой оператор SQL с union all
( порядок важен для вашей цели ):
select q.*
from
(
select type, cast(code as char(5)) as code, price, quantity
from tab
union all
select type, 'Total', sum(price), sum(quantity)
from tab
group by type
) q
order by type, code
Я добавляю Демонстрация в SQL Server , но синтаксис работает для обоих.