今天 突然 接到了一个需求改动 是这样的 假设 A (0,1,2,3,4)字段有几个值 则按照这个值进行不规则的排序(2,1,4,3,0)
这样的话就会没有规律去进行排序,值可以自己进行自定义排序我用到了这个方法
order by A WHEN '2' THEN 1 WHEN '1'THEN 2 WHEN '4' THEN 3 WHEN '3' THEN 4 WHEN '0' THEN 5 END
具体讲解一下 order by 后面是需要进行排序的字段,WHEN 是值 THEN 顺序 以此类推 END 为结束 ;
Oracle自定义排序:
order by decode(A, '2', 1, '1', 2, '4', 3, '3', 4, '0', 5);
————————————————
版权声明:本文为CSDN博主「叫三石」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42726306/article/details/86535373
本文介绍了如何在Oracle数据库中进行自定义排序,通过使用`ORDER BY`子句结合`CASE`或`DECODE`函数,实现对字段A的不规则排序,例如将值2、1、4、3、0分别映射为1、2、3、4、5的顺序。这种方法允许开发者根据特定需求自由定制字段值的排序顺序。
11万+





