如何返回增量范围内有多少订单的数量?

时间:2016-03-19 01:02:12

标签: sql

我有一些名为order_id和purchase_amount的列,我需要编写一个查询来计算每个增量范围100美元内的订单数量以及范围的值。例如,它必须返回12个订单之间的价格在0-100美元之间,9个订单在101-200美元之间并继续这样,每次增加100美元,如下所示。而且我很难理解如何开始。

  

计数|范围

     

12 | $ 0-100

     

9 | $ 101-200

2 个答案:

答案 0 :(得分:0)

使用SQL函数SUM结合CASE来创建条件。

Select SUM(CASE WHEN OrderValue >= 0 AND OrderValue < 100 THEN 1 ELSE 0 END) AS Count FROM Table;

那应该给你一个起点。

答案 1 :(得分:0)

您没有提供任何源表数据样本,所以我确实使用了TPCH中的标准表Orders来构建以下内容:

select
    case
        when o_totalprice < 1000 then '1k-'
        when o_totalprice >= 1000 and o_totalprice < 5000 then '1k-5k'
        when o_totalprice >= 5000 and o_totalprice < 10000 then '5k-10'
        when o_totalprice >= 10000 and o_totalprice < 20000 then '10k-20k'
        when o_totalprice >= 20000 and o_totalprice < 50000 then '20k-50k'
        else '50k+'
    end as 'Range',
    count(*) as 'Range-Count'
from
    orders
group by 1
;

希望这能回答你的问题...