Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como dizer ao Oracle para classificar por uma ordem de classificação específica passada de java?


Se você puder modificar a consulta em java, poderá fazer algo assim:
SELECT t.id
FROM t_test t
ORDER BY DECODE(t.id, 3, 'A', 'B') ASC,
         DECODE(t.id, 4, 'A', 'B') ASC,
         DECODE(t.id, 5, 'A', 'B') ASC,
         DECODE(t.id, 6, 'A', 'B') ASC,
         DECODE(t.id, 1, 'A', 'B') ASC,
         DECODE(t.id, 2, 'A', 'B') ASC;

Você tem que colocar uma decodificação na cláusula order by para cada elemento na lista. O segundo parâmetro em cada decodificação é um elemento da lista.