PostgreSQL में आप द्वारा क्रम में उपनाम के साथ अभिव्यक्ति का उपयोग नहीं कर सकते हैं। केवल सादे उपनाम ही वहां काम करते हैं। आपकी क्वेरी इस तरह दिखनी चाहिए:
select distinct
l2.*,
l.user_id as l_user_id,
l.geopoint_id as l_geopoint_id
from locations l
left join locations l2 on l.geopoint_id = l2.geopoint_id
where l.user_id = 8
order by l2.geopoint_id, l.user_id = l2.user_id desc;
मुझे लगता है कि आपका मतलब है कि l2.user_id=l.user_id
पहले जाना चाहिए।
यह PostgreSQL-सामान्य मेलिंग सूची पर प्रासंगिक संदेश है। ORDER BY
के दस्तावेज़ीकरण में निम्नलिखित है:खंड:
प्रत्येक व्यंजक एक आउटपुट कॉलम का नाम या क्रमागत संख्या हो सकता है (सूची आइटम चुनें), या यह एक मनमाना व्यंजक हो सकता है जो इनपुट-कॉलम से बनता है मान ।
इसलिए जब अभिव्यक्ति का उपयोग किया जाता है तो कोई उपनाम नहीं होता है।