问:该题如何解?

cea2516cfd19d47e2e135ef659109f1.png

SQL 数字化转型的学习者和实践者 发布于 2022-12-5 13:02
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
RiveryLv5中级互助
发布于2022-12-5 14:10

with  a as(select  client_id,count(order_id) as 单量

from 表

where convert(VARCHAR(7),create_time,120) = '202205'

group by client_id)

select case when 单量>=1 and 单量<=5 then '1-5'

            when 单量>=6 and 单量<=10 then '6-10'

      when 单量>=11 and 单量<=20 then '11-20'

      else '20以上' end as 单量分布,count(cliebt_id) as 客户数量

from a

group by case when 单量>=1 and 单量<=5 then '1-5'

            when 单量>=6 and 单量<=10 then '6-10'

      when 单量>=11 and 单量<=20 then '11-20'

      else '20以上' end

image.png

最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-12-5 13:04

就这点信息???无解

最佳回答
0
snrtuemcLv8专家互助
发布于2022-12-5 13:47

#建立客户订单数量的表格,并分等级

with t1 as(

    select '客户id',count('运单号') as num from 揽收表

    where '创建日期'  between '2020-05-01' and '2020-05-31'

    group by '客户id'

),

t2 as(

    select '客户id',num,

        case 

            when num<=5 then 1

            when num<=10 then 2

            when num<=20 then 3

            else 4

        end as level

    from t1

)

 

select 

    case  level

        when 1 then '0-5'

        when 2 then '6-10'

        when 3 then '10-20'

        else '20以上'

    end as '单量',

    count('客户id') as '客户数'

from t2

group by level

order by level

  • 2关注人数
  • 275浏览人数
  • 最后回答于:2022-12-5 14:10
    请选择关闭问题的原因
    确定 取消
    返回顶部