2011-01-25 12 views
21

मैं यह जानना चाहता हूं कि SQL आदेश कॉलम में उन्हें अलग किए बिना अलग-अलग मानों की सूची प्राप्त करना संभव है या नहीं।SQLite आदेश के बिना कॉलम के DISTINCT मानों का चयन करें

मैंने क्वेरी का पालन करने की कोशिश की। लेकिन यह स्वचालित रूप से अनन्य पाठ को आरोही क्रम में ऑर्डर करता है।

तालिका से डिस्टिंट कॉलम चुनें;

पूर्व।

कॉलम

Mathew 
Mathew 
John 
John 
John 
Numbers 
Numbers 

परिणाम

John 
Mathew 
Numbers 

लेकिन मैं चाहते हैं यह नहीं आदेश दिया जा करने के लिए। मैथ्यू, जॉन, नंबर

धन्यवाद में यह पसंद है।

+0

आपको किस क्रम में परिणाम पसंद आएंगे? '_DDER द्वारा कुछ_other_column' –

+0

का उपयोग करें, मैं इसे कॉलम ग्रंथों पर किसी ऑर्डरिंग के बिना ऑर्डर देने में दिखाना चाहता हूं। मेरे पास डुप्लिकेट मान एक साथ बंद हैं। –

उत्तर

33

आप क्या आदेश चाहते हैं?

आप पहली उपस्थिति के क्रम में मान प्राप्त करना चाहते हैं तो आप कर सकते हैं:

select distinct column 
    from table 
order by min(rowid); 
+1

मैं अपनी तालिका में वही ऑर्डर देना चाहता हूं। लेकिन मैं उपरोक्त क्वेरी को समझ नहीं पा रहा हूं। क्या आप इसे थोड़ा समझा सकते हैं। मेरे पास डुप्लिकेट मान एक साथ बंद हैं। –

+0

मैंने SQLiteBrowser के साथ INTEGER प्राथमिक कुंजी कॉलम जोड़ा है और उस नए कॉलम MIN() द्वारा आदेश दिया गया है। :) धन्यवाद। –

+0

पंक्तिबद्ध एक अंतर्निहित इंटेग्रर प्राथमिक कुंजी है। देखें http://www.sqlite.org/lang_createtable.html – AtnNn

2

आपका क्या मतलब है "आदेश के बिना"? SQL तालिका में कोई प्राकृतिक ऑर्डर नहीं है, इसलिए बाएं से दाएं कॉलम द्वारा डिफ़ॉल्ट आरोही क्रम किसी अन्य ऑर्डर के जितना अच्छा है। यदि आप एक और आदेश पसंद करते हैं, तो चयन डिस्टिंट खंड द्वारा ऑर्डर स्वीकार करता है।

+0

असल में SQLite पर इस क्वेरी के साथ, स्तंभ के पाठ को आरोही क्रम में आदेश दिया गया है। –

+0

हाँ, यह मेरा मुद्दा है। अंतर्निहित तालिका (जिस रूप में डेटा खींचा गया था) में कोई "प्राकृतिक" ऑर्डर नहीं है, तो आप परिणाम सेट को सॉर्ट करने की अपेक्षा कैसे करेंगे? आरोही क्रम किसी और चीज के रूप में ज्यादा समझ में आता है, क्योंकि सम्मान करने के लिए कोई "अनियंत्रित" आदेश नहीं है। –

+0

लेकिन जब मैंने क्वेरी की कोशिश की तो यह SQLite के साथ आदेश दिया गया दिखाता है। मैंने परिणामों के साथ अपना प्रश्न संपादित किया है। –

0

हे एक आसान विधि के रूप में आप एक रिकॉर्ड सम्मिलित एक सीरियल नंबर (यह प्राथमिक कुंजी बनाने) जोड़ने हो जाएगा और ऑर्डर अवरोही करें।

संबंधित मुद्दे