sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo decirle a Oracle que clasifique por un orden de clasificación específico pasado desde Java?

Si puede modificar la consulta en Java, podría hacer algo como esto:

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;

Tienes que poner una decodificación en la cláusula order by para cada elemento de la lista. El segundo parámetro en cada decodificación es un elemento de la lista.