यह उपनाम के कारण है। ORDER BY
एक अनुक्रमणिका का उपयोग कर सकता है यदि यह अनुक्रमित किसी चीज़ द्वारा आदेश दे रहा है। जबकि ceremonyDate
दिनांक को अनुक्रमित किया जा सकता है, YEAR(ceremoneyDate)
ceremonyDate
. का मान बदल देता है कुछ पूरी तरह से अलग करने के लिए, तो YEAR(ceremoneyDate)
अनुक्रमित नहीं है।
और चूंकि आप किसी उपनाम को अनुक्रमित नहीं कर सकते हैं, इसका मतलब है कि ORDER BY
. के क्रम में किसी अनुक्रमणिका का उपयोग करने के लिए, यह एक साधारण स्तंभ नाम या स्तंभ नामों की सूची होनी चाहिए।
आपको ऐसा करने और अनुक्रमणिका का उपयोग करने में सक्षम होना चाहिए:
SELECT ordinal,YEAR(ceremonydate) as yr
FROM awardinfo
ORDER BY ceremonydate DESC LIMIT 1;
यह जाने बिना कि आपका डेटा कैसा दिखता है, यह आपके लिए काम कर सकता है।
अधिक जानकारी:http://dev.mysql. com/doc/refman/5.0/hi/order-by-optimization.html