यह सवाल एक छोटे से इतिहास — Is there a way to make a query respect the order of the inputted parameters?पोस्टग्रेएसक्यूएल इनपुट पैरामीटर के आदेश का सम्मान करते हैं?
मैं निर्माण "विशेष" क्वेरी के लिए नया हूँ है, तो मैं मान लिया है कि अगर मैं एक SELECT
क्वेरी में एक IN
खंड की आपूर्ति, यह एक ही में परिणाम लौटाता है आदेश। दुर्भाग्य से यह मामला नहीं है।
SELECT * FROM artists WHERE id IN (8, 1, 2, 15, 14, 3, 13, 31, 16, 5, 4, 7, 32, 9, 37)
>>> [7, 32, 3, 8, 4, 2, 31, 9, 37, 13, 16, 1, 5, 15, 14]
(कदम जहाँ मैं परिणाम लूप करने के लिए अजगर का इस्तेमाल किया शामिल हैं और एक सूची को आईडी संलग्न नहीं किया था।)
तो सवाल है, वहाँ Postgres का सम्मान करने के लिए एक रास्ता है समान ऑर्डर देने के परिणामस्वरूप IN
खंड में दिए गए पैरामीटर का ऑर्डरिंग?
अपने जवाब के लिए धन्यवाद। मैंने इस बारे में बहुत कुछ छोड़ दिया कि मेरा एप्लिकेशन कैसे काम करता है। लंबी कहानी छोटी, रैंकिंग न केवल एक कलाकार के अनुरूप होती है, बल्कि यह किसी भी प्रकार के ऑब्जेक्ट प्रकारों से मेल खाती है जो हम इसे देते हैं। उस ने कहा, मैं उन संबंधों को बनाने के लिए Django के जेनेरिक का उपयोग कर रहा हूं जो मुझे ऐसा करने के लिए थोड़ा कठिन बनाता है जो मैं यहां करने की कोशिश कर रहा हूं। –
बहुत दुखी है कि पोस्टग्रेस आदेश को सुरक्षित नहीं रख सकता है। यह मुझे कई परेशानियों से भी बचाएगा! मैं एक समान स्थिति में हूं और सॉर्ट ऑर्डर प्रति मिनट कई बार बदलता है, इसलिए मैं पूरी तरह से अनावश्यक डेटाबेस लिखने से रोकने के लिए अपने ऐप में ऑर्डर कर रहा हूं। तो आदेश एक विकल्प नहीं है, – Malte