oracle查询结果指定排序规则

时间:2021-01-24 06:54:48

sql根据帐号进行交易查询,按照寻常的升降排序无法满足要求,想要结果按指定顺序展示,可以使用order by instr 语句解决以上的需求。


原sql为:

select t.TermNo, m.MercNam, t.TrmModNo
  from ku.biao t
  left join ku.biao2 m on t.mercid = m.mercid
 where t.TermNo in ('60010025', '60030817', '60039508', '60056123',
        '60054968', '60045502', '60046626')

更改的sql为

select t.TermNo, m.MercNam, t.TrmModNo
  from ku.biao t
  left join ku.biao2 m on t.mercid = m.mercid
 where t.TermNo in ('60010025', '60030817', '60039508', '60056123',
        '60054968', '60045502', '60046626')

    order by instr('60010025,60030817,60039508,60056123,60054968,
                60045502,60046626',
                t.TermNo)

红色括号内,把查询条件全部只用一对单引号界定,后面跟查询字段。

这样就可以根据查询字段,列出查询结果。

然后直接复制到交易日报中。