wiki:View3

Version 1 (modified by 211101, 44 hours ago) ( diff )

--

Месечно потрошено по корисник

Опис

Овој поглед обезбедува преглед на месечната потрошувачка за секој корисник, каде податоците се групираат по корисник и месец(придружен со година)

Погледот е наменет за:

  • месечни финансиски извештаи
  • тренд анализи
  • визуелизации (графици)

Табели опфатени со погледот

  • transaction
  • transaction_breakdown
  • transaction_account

Тип

  • READ-ONLY VIEW

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 потреба
  • сложените агрегации се централизирани
  • апликацијата не мора да имплементира временска логика
Note: See TracWiki for help on using the wiki.