sql - sql在年底获得余额
问题描述
我有一个单年的交易表,如果值为负数或贷记交易值为正,则金额指示借方交易。
现在在一个给定的月份,如果借记记录的数量少于 3 或者如果一个月的借记总和少于 100,那么我想收取 5 的费用。
我想在 postgre 中为此构建和 sql 查询:
select sum(amount), count(1), date_part('month', date) as month from transactions where amount < 0 group by month;
我能够获得每月级别的记录,我被困在如何进一步进行并获得结果。
解决方案
这种方法怎么样?
SELECT
SUM(
CASE
WHEN usage.amount_s > 100
OR usage.event_c > 3
THEN 0
ELSE 5
END
) AS YEAR_FEE
FROM (SELECT 1 AS month UNION
SELECT 2 UNION
SELECT 3 UNION
SELECT 4 UNION
SELECT 5 UNION
SELECT 6 UNION
SELECT 7 UNION
SELECT 8 UNION
SELECT 9 UNION
SELECT 10 UNION
SELECT 11 UNION
SELECT 12
) months
LEFT OUTER JOIN
(
SELECT
sum(amount) AS amount_s,
count(1) event_c,
date_part('month', date) AS month
FROM transactions
WHERE amount < 0
GROUP BY month
) usage ON months.month = usage.month;
推荐阅读
- python - 补充网络上的座位优化
- javascript - ajax后的Jquery追加不是每次都有效
- amazon-web-services - Terraform 配置未将其他文件的输出用于已创建的资源,而是尝试重新创建它并失败(安全组 ID)
- c# - WPF ListView ItemTemplate 无法在属性元素上设置属性
- powerbi - 将卡值从空白更改为 0
- node.js - Mongodb $lookup/populate 和 summarise
- python - 具有离散值的函数的积分
- pytorch - 使用 torchtext 微调嵌入 - nn.Embedding 与 nn.Embedding.from_pretrained
- excel - 将一张表中的数据范围作为值复制到另一张表中,直到出现特定值
- powerbi - 如何将度量总计带到 Power BI 中的行?