You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PL/SQL中按slab wise金额区间分类汇总并排序数据?

PL/SQL按金额区间分类统计实现

需求说明

将表中数据按以下金额区间分类,按指定顺序排列,并对区间内的outs和paid字段进行统计计算:

  • 100000-200000
  • 200000-300000
  • 300000以上

实现代码

假设表名为chit_records,以下是实现统计的PL/SQL查询语句:

SELECT
    CASE
        WHEN amount >= 100000 AND amount < 200000 THEN '100000-200000'
        WHEN amount >= 200000 AND amount < 300000 THEN '200000-300000'
        WHEN amount >= 300000 THEN '300000以上'
    END AS amount_range,
    SUM(outs) AS total_outs,
    SUM(paid) AS total_paid,
    COUNT(*) AS record_count
FROM chit_records
GROUP BY
    CASE
        WHEN amount >= 100000 AND amount < 200000 THEN '100000-200000'
        WHEN amount >= 200000 AND amount < 300000 THEN '200000-300000'
        WHEN amount >= 300000 THEN '300000以上'
    END
ORDER BY
    CASE
        WHEN amount >= 100000 AND amount < 200000 THEN 1
        WHEN amount >= 200000 AND amount < 300000 THEN 2
        WHEN amount >= 300000 THEN 3
    END;

代码说明

  1. 区间划分:通过CASE表达式将每条数据映射到对应的金额区间,明确边界值归属(如200000归入第二个区间)。
  2. 统计计算:使用SUM()对outs和paid求和,COUNT()统计区间内记录数,可根据需求替换为AVG()(平均值)等其他聚合函数。
  3. 排序控制:额外的CASE表达式为每个区间分配排序序号,确保输出严格按照指定的区间顺序排列。

内容的提问来源于stack exchange,提问作者EFX Luke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 21:31:01