按照销售额分组

大饼Ora 2017-05-23 04:25:43
比如一张表有两个字段,一个是手机号,一个是销售额。
现在的需求就是以500为界,
比如,销售额是0-500,500-1000,1000-1500 进行分组
现在需要分到49500-50000。
不知道有没有好方法,
不想写100个case when
...全文
224 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
小当家e 2017-05-23
  • 打赏
  • 举报
回复
select wm_concat(pj) from ( select distinct ',case when 销售额>=' || 50000-rownum *500 || ‘ and 销售额<=’ || 50000-(rownum+1)*500 || ‘ then ’|| 销售额 || ' end as ' || 50000-rownum *500|| '-'||50000-(rownum+1)*500 as pj from 表 ) 然后再将这段pj 拼接语句放到你原有case when的地方。
小当家e 2017-05-23
  • 打赏
  • 举报
回复
select wm_concat(pj) from ( select distinct ',case when 销售额>=' || 销售额-rownum *500 || ‘ and 销售额<=’ || 销售额-(rownum+1)*500 || ‘ then ’|| 销售额 || ' end as ' || 销售额-rownum *500|| '-'||销售额-(rownum+1)*500 as pj from 表 ) 然后再将这段pj 拼接语句放到你原有case when的地方。
大饼Ora 2017-05-23
  • 打赏
  • 举报
回复
引用 5 楼 js14982 的回复:
select ceil(销售额/500),count(手机号) from t group by ceil(销售额/500);
js14982 2017-05-23
  • 打赏
  • 举报
回复
select ceil(销售额/500),count(手机号) from t group by ceil(销售额/500);
chengccy 2017-05-23
  • 打赏
  • 举报
回复
期望的结果是什么? 100列?那只能动态拼接CASE WHEN了
大饼Ora 2017-05-23
  • 打赏
  • 举报
回复
是不是可以 除500取整,向上向下取整都可以,然后根据结果再分析,就出来了
大饼Ora 2017-05-23
  • 打赏
  • 举报
回复
@卖水果的net @小灰狼W 大神help
大饼Ora 2017-05-23
  • 打赏
  • 举报
回复
销售额是0-500,500-1000,1000-1500 进行分组 现在需要分到49500-50000。每个组有多少人

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧