Here is a SQL query it aggregates the sum of a field 'called current principal balance' by Age buckets. I am just curious if there is another way to do it.
here is the query
SELECT
[Age Bucket]
,SUM(current_note_amount) As 'Currnet_note_amount'
,COUNT(acctrefno) As 'total number of accts'
FROM
(
SELECT
acctrefno
, L.portfolio_code_id
,BOR.dob
, CASE WHEN datediff(year, BOR.dob, getdate()) >= 10 AND datediff(year, BOR.dob, getdate()) < 20 THEN '10-20'
WHEN datediff(year, dob, getdate()) >= 20 AND datediff(year, dob, getdate()) < 30 THEN '20-30'
WHEN datediff(year, dob, getdate()) >= 30 AND datediff(year, dob, getdate()) < 40 THEN '30-40'
WHEN datediff(year, dob, getdate()) >= 40 AND (datediff(year, dob, getdate())) < 50 THEN '40-50'
WHEN datediff(year, dob, getdate()) >= 50 AND (datediff(year, dob, getdate())) < 60 THEN '50-60'
WHEN datediff(year, dob, getdate()) >= 60 AND (datediff(year, dob, getdate())) < 70 THEN '60-70'
WHEN datediff(year, dob, getdate()) >= 70 AND (datediff(year, dob, getdate())) < 80 THEN '70-80'
WHEN datediff(year, dob, getdate()) >= 80 AND (datediff(year, dob, getdate())) < 90 THEN '80-90'
WHEN datediff(year, dob, getdate()) >= 90 THEN '90+'
END AS 'Age Bucket'
, L.current_note_amount
FROM
loanacct L
INNER JOIN cif BOR ON BOR.cifno = L.cifno
WHERE L.portfolio_code_id = 7
) X
GROUP BY
[Age Bucket]