在数据库应用开发中,我们经常要面对复杂的SQL式计算,固定排序就是其中一种。固定排序不是按照某个字段升序或降序排序,而是有着固定的顺序,比如按照2,3,1的顺序排序,或者按照”DSGC”,”TAS”,”GC”,”HU”的顺序来排序。如果允许在数据库建一张表来存储依据,那就可以用join语句来实现排序。但很多时候排序依据是变动的,或者数据库不能建表,这时就需要先union再join,或者用decode函数。排序依据比较短的时候可以这样做,但排序依据有时候很长,会导致手工书写很长的union字符串和decode字符串,出错率会很高。
集算器可以轻松实现固定排序,下面用例子来说明。
表LIQUORS记录着大量的酒品库存,现在需要按照固定的LID顺序排序,比如“2,1,3,4,5…”。表LIQUORS的部分数据如下: