【问题标题】:How to use group by function in oracleoracle中如何使用分组功能
【发布时间】:2021-06-08 01:07:00
【问题描述】:

下面是我的基表

我需要根据我的基表创建如下格式的视图。 这里 Deposit_Acc_Count 是 (Type -> SB,RD, FD) 的组合,Loan_Acc_Count 是 (Type ->LO) 与金额相同。

谁能帮我实现这个目标。

【问题讨论】:

    标签: sql oracle group-by oracle11g


    【解决方案1】:

    您可以在按br_codecif 列分组时使用条件聚合,例如

    SELECT br_code, cif,
           COUNT(CASE WHEN type IN ('SB','RD', 'FD') THEN Amt END) AS deposit_acc_count, 
           SUM(CASE WHEN type IN ('SB','RD', 'FD') THEN Amt ELSE 0 END) AS deposit_acc_amt, 
           COUNT(CASE WHEN type = 'LO' THEN Amt END) AS loan_acc_count, 
           SUM(CASE WHEN type = 'LO' THEN Amt ELSE 0 END) AS loan_acc_amt, 
           COUNT(*) AS total_count,
           SUM(amt) AS total_amt                   
      FROM t
     GROUP BY br_code, cif 
    

    Demo

    【讨论】:

    • @BalaS 。 . .如果这回答了您的问题,您应该接受答案。
    猜你喜欢
    • 2017-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 2020-04-29
    • 2016-10-15
    相关资源
    最近更新 更多