【问题标题】:How to build that query (sum,group by)如何构建该查询(总和,分组依据)
【发布时间】:2013-06-23 12:02:02
【问题描述】:

我有下表

 #   amount   type
 1     10      0
 1     10      0
 1     5       1
 1     5       1
 2     10      0
 2     10      0
 2     5       1
 2     5       1

其中 0 表示现金,1 表示类型列中的信用

问题是找出每个 ID 的现金使用和信用使用的总和以及总金额。

我正在寻找得到以下结果的查询

 #   cash credit total
 1    20    10    30 
 2    20    10    30

如果可能的话,我想使用一个查询

谢谢

【问题讨论】:

    标签: sql group-by sum


    【解决方案1】:
    SELECT id, 
    SUM(CASE WHEN type = 0 THEN amount ELSE 0 END) as "cash",
    SUM(CASE WHEN type = 1 THEN amount ELSE 0 END) as "credit", 
    SUM(amount) as "total"
    FROM your_table
    GROUP BY id
    

    【讨论】:

      【解决方案2】:
      SELECT
        num,
        SUM(CASE WHEN type=0 THEN amount END) cash,
        SUM(CASE WHEN type=1 THEN amount END) credit,
        SUM(amount) total
      FROM
        yourtable
      GROUP BY num
      

      【讨论】:

        【解决方案3】:
        select id,
               sum(amount) as "total",
               CASE WHEN type = 0 THEN amount ELSE 0 END as "cash",
               CASE WHEN type = 1 THEN amount ELSE 0 END as "credit",
          from table
         group by id
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-09-14
          • 2011-07-17
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多