问题是:创建一个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
请提出其他合适的方法。谢谢!
答案 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);