Oracle
 sql >> Database >  >> RDS >> Oracle

Ordina in base ai valori di 2 colonne

Vuoi generare un valore solo per ordinare in base alla condizione desiderata.

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

Non mostri il campo della data nei tuoi output di esempio, quindi non so come quella data segmenta l'output. Immagino che la data sia più rilevante dello "stesso valore chiave", ma puoi posizionarla ovunque ti dia l'effetto che desideri.

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