Oracle
 sql >> Base de données >  >> RDS >> Oracle

Trier par en fonction des valeurs de 2 colonnes

Vous voulez générer une valeur juste pour trier en fonction de la condition souhaitée.

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

Vous n'affichez pas le champ de date dans vos exemples de sorties, donc je ne sais pas comment cette date segmente la sortie. Je suppose que la date est plus pertinente que la "même valeur de clé", mais vous pouvez la placer là où vous donne l'effet souhaité.

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