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

Ordenar dependendo dos valores de 2 colunas


Você deseja gerar um valor apenas para classificar com base na condição desejada.
ORDER BY fruit_id desc,
         a.rev_date desc,
         case when fruit_id = primary_fruit_id then 0 else 1 end

Você não mostra o campo de data em suas saídas de exemplo, então não sei como essa data segmenta a saída. Eu estou supondo que a data é mais relevante do que o "mesmo valor de chave", mas você pode colocá-lo onde quer que você tenha o efeito desejado.
ORDER BY fruit_id desc,
         case when fruit_id = primary_fruit_id then 0 else 1 end,
         a.rev_date desc

ORDER BY case when fruit_id = primary_fruit_id then 0 else 1 end,
         fruit_id desc,
         a.rev_date desc