SQL自定义排序问题

请问怎么同时将3个字段自定义排序,如果只根据“部门类别”排序我会写

order by 

CASE WHEN Department_1='北京BG' THEN 1

     WHEN Department_1='TS数字BG' THEN 2

     WHEN Department_1='集团' THEN 3

     WHEN Department_1='媒介中心' THEN 4

    WHEN Department_1='深圳BG' THEN 5

end

但是想把“一级部门”和“核算单元”两个字段也自定义排序应该怎么写呀?

image.png

SQL 用户m2896739 发布于 2023-7-14 16:05
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-7-14 16:06(编辑于 2023-7-14 16:07)

继续加case 

order by 

CASE WHEN Department_1='北京BG' THEN 1

     WHEN Department_1='TS数字BG' THEN 2

     WHEN Department_1='集团' THEN 3

     WHEN Department_1='媒介中心' THEN 4

    WHEN Department_1='深圳BG' THEN 5

end

,case when  Department_2=XXX then 1 .............  end

case when Department_3=XXX then 1 .............  end

最佳回答
0
snrtuemcLv8专家互助
发布于2023-7-14 16:07

一样再写,继续写就可以

order by 

CASE WHEN Department_1='北京BG' THEN 1

     WHEN Department_1='TS数字BG' THEN 2

     WHEN Department_1='集团' THEN 3

     WHEN Department_1='媒介中心' THEN 4

    WHEN Department_1='深圳BG' THEN 5

end as Department_1_new,

CASE WHEN Department_2='XXX' THEN 1

     WHEN Department_2='XXX1' THEN 2

     WHEN Department_2='XXX2' THEN 3

     WHEN Department_2='XXX3' THEN 4

    WHEN Department_2='XXX4' THEN 5

end as Department_2_new

最佳回答
0
用户k6280494Lv6资深互助
发布于2023-7-14 16:07

在外面在套一层select

select * from (

select 

CASE WHEN Department_1='北京BG' THEN 1

     WHEN Department_1='TS数字BG' THEN 2

     WHEN Department_1='集团' THEN 3

     WHEN Department_1='媒介中心' THEN 4

    WHEN Department_1='深圳BG' THEN 5

end num

from 表

) a

order by  num

  • 2关注人数
  • 151浏览人数
  • 最后回答于:2023-7-14 16:07
    请选择关闭问题的原因
    确定 取消
    返回顶部