阅读量:0
MySQL数据库收支明细表数据报表
报表概述
本报表旨在展示MySQL数据库中收支明细表的数据,包括收入、支出、余额等信息,报表将按照时间顺序展示,并计算累计余额。
报表数据结构
以下为收支明细表的数据结构:
CREATE TABLEfinancial_records
(id
int(11) NOT NULL AUTO_INCREMENT,record_date
date NOT NULL,type
enum('income','expense') NOT NULL,amount
decimal(10,2) NOT NULL,description
varchar(255) DEFAULT NULL, PRIMARY KEY (id
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
id
: 记录的唯一标识符。
record_date
: 记录日期。
type
: 收支类型,'income'表示收入,'expense'表示支出。
amount
: 金额,正数表示收入,负数表示支出。
description
: 记录的描述信息。
1. 按日期汇总
以下SQL查询将按日期汇总收入和支出,并计算累计余额。
SELECT record_date, SUM(CASE WHEN type = 'income' THEN amount ELSE 0 END) AS total_income, SUM(CASE WHEN type = 'expense' THEN amount ELSE 0 END) AS total_expense, (SUM(CASE WHEN type = 'income' THEN amount ELSE 0 END) SUM(CASE WHEN type = 'expense' THEN amount ELSE 0 END)) AS balance FROM financial_records GROUP BY record_date ORDER BY record_date;
2. 按类型汇总
以下SQL查询将按收支类型汇总收入和支出。
SELECT type, SUM(amount) AS total_amount FROM financial_records GROUP BY type;
3. 按描述分类
以下SQL查询将按描述信息分类汇总收入和支出。
SELECT description, SUM(amount) AS total_amount FROM financial_records GROUP BY description ORDER BY total_amount DESC;
4. 查询特定日期范围内的收支情况
以下SQL查询将展示指定日期范围内的收支情况。
SELECT record_date, type, amount, (SELECT SUM(CASE WHEN type = 'income' THEN amount ELSE 0 END) SUM(CASE WHEN type = 'expense' THEN amount ELSE 0 END) FROM financial_records WHERE record_date <= current_date()) AS cumulative_balance FROM financial_records WHERE record_date BETWEEN '开始日期' AND '结束日期' ORDER BY record_date;
报表使用说明
替换上述SQL查询中的'开始日期'
和'结束日期'
为实际日期。
根据需要调整SQL查询,以获取更详细的报表信息。
SQL查询假设您已经有一个名为financial_records
的表,并且表结构如上所述,根据实际情况,您可能需要调整SQL查询以满足特定的报表需求。