Это сделает это за вас.
create table Transactions
(
ACCOUNT_ID int
, REVENUE_CODE char(4)
, CHARGE_ITEM char(4)
, AMOUNT decimal(10,2)
)
insert into Transactions values
(1234, '0210', '9011', 938.49)
, (1234, '0210', '8294', 546.00)
, (1234, '0850', '3953', 32.50)
, (1234, '0850', '1023', 12.56)
, (1234, '0360', '1203', 1292.98)
, (1245, '0970', '1238', 123.97)
, (1245, '0970', '1223', 166.03)
, (1245, '0560', '1239', 400.00)
select * from Transactions
select *
from (
select
HTR.ACCOUNT_ID
, HTR.REVENUE_CODE
, SUM(HTR.AMOUNT) as [RC_SUM]
, row_number() over (partition by HTR.ACCOUNT_ID
order by SUM(HTR.AMOUNT) desc) as [ROW_NUMBER]
from Transactions HTR
group by
HTR.ACCOUNT_ID
, HTR.REVENUE_CODE
) x
where x.ROW_NUMBER = 1
Вот демоверсия .