Anda ingin menghasilkan nilai hanya untuk mengurutkan berdasarkan kondisi yang Anda inginkan.
ORDER BY fruit_id desc,
a.rev_date desc,
case when fruit_id = primary_fruit_id then 0 else 1 end
Anda tidak menampilkan bidang tanggal dalam keluaran sampel Anda, jadi saya tidak tahu bagaimana tanggal itu mengelompokkan keluaran. Saya menduga bahwa tanggal lebih relevan daripada "nilai kunci yang sama" tetapi Anda dapat menempatkannya di mana pun memberikan efek yang Anda inginkan.
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