सामान्य तौर पर ORDER BY उप-क्वेरी में कोई मतलब नहीं है। (यह केवल तभी होता है जब FETCH FIRST/LIMIT/TOP आदि के साथ जोड़ा जाता है)
समाधान "मुख्य क्वेरी" की वर्तमान पंक्ति के उपयोगकर्ता नाम, स्थान, प्रजाति संयोजन के लिए सबसे भारी मछली खोजने के लिए एक सहसंबद्ध उप-क्वेरी का उपयोग करना है। अगर यह एक टाई है, तो दोनों पंक्तियों को वापस कर दिया जाएगा।
SELECT *
FROM entries e1
WHERE username = :user
AND CAST(weight AS DECIMAL(9,3)) = (select max(CAST(weight AS DECIMAL(9,3)))
from entries e2
where e1.username = e2.username
and e1.location = e2.location
and e1.species = e2.species)
ध्यान दें कि वजन के लिए चार अभी भी एक खराब विकल्प है, क्योंकि मूल्यों की तुलना करते समय आपको दोनों पक्षों को डालना होगा। अपनी तालिका में दशमलव पर वापस जाएं!