आप केवल अपनी इच्छित स्थिति के आधार पर क्रमबद्ध करने के लिए एक मूल्य उत्पन्न करना चाहते हैं।
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