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