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

Bestil efter afhængig af 2 kolonneværdier

Du vil generere en værdi, som du bare skal sortere efter baseret på den betingelse, du ønsker.

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

Du viser ikke datofeltet i dine prøveoutput, så jeg ved ikke, hvordan den dato segmenterer outputtet. Jeg gætter på, at datoen er mere relevant end den "samme nøgleværdi", men du kan placere den, hvor som helst giver dig den effekt, du ønsker.

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


  1. Hvordan vælger man top 1 og sorteres efter dato i Oracle SQL?

  2. Opdater forespørgsel, der resulterer forkert

  3. Hvordan fremhæver man ændringer/forskel i et tekstafsnit fra det andet?

  4. MySql - beregne tidsforskel for flere rækker