= Месечно потрошено по корисник ==== Опис Овој поглед обезбедува преглед на месечната потрошувачка за секој корисник, каде податоците се групираат по корисник и месец(придружен со година) Погледот е наменет за: - месечни финансиски извештаи - тренд анализи - визуелизации (графици) ==== Табели опфатени со погледот - `transaction` - `transaction_breakdown` - `transaction_account` ==== SQL код {{{#!sql CREATE OR REPLACE VIEW vw_monthly_spending_by_user AS SELECT ta.user_id, EXTRACT(MONTH FROM t.date) AS month, EXTRACT(YEAR FROM t.date) AS year, COALESCE(SUM(tb.spent_amount), 0) AS total_spent FROM transaction t JOIN transaction_breakdown tb ON tb.transaction_id = t.transaction_id JOIN transaction_account ta ON ta.transaction_account_id = tb.transaction_account_id GROUP BY ta.user_id, EXTRACT(YEAR FROM t.date), EXTRACT(MONTH FROM t.date); }}} ==== Објаснување на логиката - Се користи датумот на трансакцијата како временска референца - Се агрегира само `spent_amount` - Податоците се групираат по корисник и по месец Ова овозможува јасен временски преглед на трошоците ==== Причина за користење Овој поглед е важен затоа што: - месечните извештаи се честa потреба - сложените агрегации се централизирани - апликацијата не мора да имплементира временска логика