आप इस SQLFIDDLE से SQL का परीक्षण कर सकते हैं ।
केवल स्क्लाइट और माईस्क्ल ही इस उपयोग का समर्थन करते हैं, लेकिन अन्य नहीं करते हैं।
यह postgresql दस्तावेज़ देखें ।
इस सुविधा की एक सीमा यह है कि यूनियन, इंटरसेक्ट, या एक्सेप्ट क्लॉज के परिणाम पर लागू होने वाले क्लॉज द्वारा ऑर्डर केवल आउटपुट कॉलम नाम या संख्या निर्दिष्ट कर सकता है, अभिव्यक्ति नहीं।
आपके मामले के लिए, uniq का उपयोग करने की कोई आवश्यकता नहीं है, सभी उपयोगकर्ता आईडी पहले से ही अलग हैं, तो आप इसे क्यों नहीं आजमाते:
User.order("email DESC").pluck(:id)
डुप्लिकेट आईडी मानते हुए, आप डीबी के बजाय रूबी द्वारा यूनीक कर सकते हैं।
User.order("email DESC").pluck(:id).uniq
यह स्क्रिप्ट कभी भी विशिष्ट के साथ sql उत्पन्न नहीं करेगी। यह uniq
प्लक के बाद एक Array#uniq
है विधि।