sql排序问题:字段是数字#+汉字,想根据汉字来排序怎么实现?转炉-精炼-连铸这样排序

image.png

FineReport jack丶杨某人 发布于 2021-11-24 11:21
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
丶尛伟Lv6初级互助
发布于2021-11-24 11:30(编辑于 2021-11-24 14:55)

SQL里面单独拼一个字段,SUBSTR(POS,2,2) AS 排序

然后把这个字段在单元格里,根据SWITCH($$$,"转炉",1,"精炼",2,"连铸",3),去进行排序,然后再隐藏这一列

1637736819(1).jpg

  • jack丶杨某人 jack丶杨某人(提问者) 写完点单元格排序没什么作用啊。。
    2021-11-24 14:47 
  • 丶尛伟 丶尛伟 回复 jack丶杨某人(提问者) 看一下截图,类似这样子
    2021-11-24 14:55 
  • jack丶杨某人 jack丶杨某人(提问者) 回复 丶尛伟 你好,这个拼接的字段排序完,其他单元格得指定它为父格才能以它来排序吗?
    2021-11-24 15:14 
  • jack丶杨某人 jack丶杨某人(提问者) 回复 丶尛伟 ok了放在最左边当父格就可以
    2021-11-24 15:18 
  • 丶尛伟 丶尛伟 回复 jack丶杨某人(提问者) 把这个单元格放最前面,其他的左父格以它排序,前端不需要展示的话,隐藏这一列
    2021-11-24 15:18 
最佳回答
0
孤陌Lv6资深互助
发布于2021-11-24 11:23

SWITCH($$$,"一",1,"二",2,"三",3,"四",4) 用这个公式就可以了

最佳回答
0
檬茶茶Lv4初级互助
发布于2021-11-24 11:51

sqlserver

select substring(POS,3,len(POS)) as POS1,* from 表  order by POS1

最佳回答
0
快乐星光Lv5中级互助
发布于2021-11-24 12:30

sql 后面加上 order by right(pos,2)

最佳回答
0
就TM你叫夏洛啊Lv6中级互助
发布于2021-11-24 15:04

你这个是mysql吗,思路是截取POS字段里的汉字,然后按你说的排序,操作:

select substr(POS,3,2)as name from table order by field(name,'转炉','精炼','连铸')

这样就可以

  • 6关注人数
  • 312浏览人数
  • 最后回答于:2021-11-24 15:04
    请选择关闭问题的原因
    确定 取消
    返回顶部