Искате да генерирате стойност само за сортиране въз основа на условието, което искате.
ORDER BY fruit_id desc,
a.rev_date desc,
case when fruit_id = primary_fruit_id then 0 else 1 end
Не показвате полето за дата във вашите примерни резултати, така че не знам как тази дата сегментира изхода. Предполагам, че датата е по-уместна от „същата ключова стойност“, но можете да я поставите където и да ви даде желания ефект.
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