SQL直方图:大于10个订单组为“ 10个以上存储桶”

时间:2019-03-23 03:35:39

标签: sql sql-server histogram

问题是:创建一个sql查询,以提供x个订购y个订单的人数的直方图。订单数量大于10的任何人都应归为“ 10+”类

第1步:我已经创建了一个“模板”:

Customerid    Order_Count
----------    -----------
CENTC         1
GROSR         2
LAZYK         2
LAUGB         3
NORTS         3
FRANR         3

第2步:我尝试了使用地板函数来创建直方图存储桶,但无法使用以下语法存储到存储桶'10 +'

select bucket, count(*) from
(select floor(order_count/10.00)*10 as bucket from TempTable
) t group by bucket

请提出其他合适的方法。谢谢!

1 个答案:

答案 0 :(得分:2)

您将执行case表达式来定义存储桶,然后进行汇总以得出最终摘要:

select (case when order_count >= 10 then '10+' else CustomerId
        end) as CustomerId,
       sum(Order_Count) as Order_Count
from temptable
group by (case when order_count >= 10 then '10+' else CustomerId
          end);