【问题标题】:mysql conditional summationmysql条件求和
【发布时间】:2011-12-22 16:48:07
【问题描述】:

我正在尝试对一些数据进行年龄分析,需要进行条件求和,即我的表格是:

ID | Date    | Amount |
===+=========+========+    
1  | 1/1/10  | 100    |
2  | 1/2/10  | 100    |
3  | 1/5/10  | 100    |
4  | 15/5/10 | 100    |
5  | 20/5/10 | 100    |

假设今天的日期是 2010 年 1 月 6 日,我想根据他们在年龄分析中使用的年龄来计算金额。即我想要这个

Age        | Total
===========+======
<30 days   | 300
30-60 days | 0
60-90 days | 0
90 days+   | 200

本质上它是一个条件求和,所以我想对所有值求和(

【问题讨论】:

  • 有类似你想做的事情here
  • 非常感谢它真的很有帮助

标签: mysql conditional sum


【解决方案1】:

你可以这样做:

select case 
           when datediff(now(), date) >= 90 then '90 days+'
           when datediff(now(), date) >= 60 and datediff(now(), date) < 90 then '60-90 days'
           when datediff(now(), date) >= 30 and datediff(now(), date) < 60 then '30-60 days'
           else '< 30 days'
       end case f,
       sum(amount)
  from your_table
 group by f;

【讨论】:

    猜你喜欢
    • 2016-07-09
    • 2018-02-11
    • 2012-02-02
    • 1970-01-01
    • 2011-05-20
    • 2011-06-11
    • 2015-05-24
    • 1970-01-01
    相关资源
    最近更新 更多