请用sql窗口函数按日期升序、区分项目计算aaa表里面在贷余额指标累加
时间: 2024-11-09 18:19:05 浏览: 5
在SQL中,可以使用窗口函数`SUM()`和`OVER()`来按照日期顺序对每个项目的贷余额进行累计。假设你的`aaa`表有列`date`, `project`, 和 `balance`表示日期、项目和贷余额,你可以使用下面的查询:
```sql
SELECT date, project,
balance AS current_balance,
SUM(balance) OVER (
PARTITION BY project
ORDER BY date ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
) AS cumulative_balance
FROM aaa;
```
这个查询做了以下几件事:
1. `PARTITION BY project`:将数据分组到每个项目下,每组内部独立计算累加和。
2. `ORDER BY date ASC`:按日期升序排列。
3. `ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW`:对于每一行,累加当前行之前的贷余额。
结果会包括原始的`date`和`project`,当前的`balance`值以及到当前日期为止每个项目的累计贷余额。
阅读全文