SQL 给查询数据新增一个列,并自定义分类排序

发布于:2023-01-20 ⋅ 阅读:(758) ⋅ 点赞:(0)

原数据:  select attrval,vc0,vc,value,StartDate,EndDate,BB from test_1

查询到的数据如下图

 现在要新增一列并根据attrval的值进行分类排序

代码如下

select attrval,case
    when attrval=(751340011) then 1
    when attrval=(751340008) then 2

    when attrval=(751340026) then 3
    when attrval=(751340007) then 4
    when attrval=(751340025) then 5
    when attrval=(751340019) then 6
    when attrval=(751340006) then 7
    when attrval=(751340016) then 8
    when attrval=(751340015) then 9
    when attrval=(751340010) then 10
    when attrval=(751340014) then 11
    else''
    end as serial_num
,vc0,vc,value,StartDate,EndDate,BB
 from test_1

    //需要新增的列并根据attrval的值分类排序
    case
	when attrval=(751340011) then 1
    when attrval=(751340008) then 2
    when attrval=(751340026) then 3
    when attrval=(751340007) then 4
    when attrval=(751340025) then 5
    when attrval=(751340019) then 6
    when attrval=(751340006) then 7
    when attrval=(751340016) then 8
    when attrval=(751340015) then 9
    when attrval=(751340010) then 10
    when attrval=(751340014) then 11
    else''
    end as serial_num,

 格式为: ‘自定义的值 ’ as 列名

新增列后的数据如下图

扩展Case When Then多条件判断

case

    when 条件1 then 结果1
    when 条件2 then 结果2
    when 条件3 then 结果3
    when 条件4 then 结果4
    .........
    when 条件n then 结果n
    else 结果x
    end

case 具有两种格式。简单case函数和case搜索函数。
--简单case函数
case sex
         when '1' then '男'
         when '2' then '女'
         else '其他' end


case搜索函数 

case  when sex = '1' then '男'
           when sex = '2' then '女'
else '其他' end

 

本文含有隐藏内容,请 开通VIP 后查看