2011-01-10 15 views
5

पर नंबर दिखाएं मेरे पास एक एसक्यूएल क्वेरी है और मुझे परिणाम एएससी में ऑर्डर करने की आवश्यकता है, लेकिन मुझे परिणाम की अंतिम स्थिति में नंबरों और रिक्त स्थान की आवश्यकता है, पहले नहीं।टेक्स्ट एएससी द्वारा एसक्यूएल ऑर्डरिंग, अंतिम स्थिति

SELECT title FROM movie ORDER BY title ASC 

ऊपर मैं खिताब से शुरू प्राप्त कोड का उपयोग करना [स्पेस], 0-9, ए, बी, सी ... मैं इस फार्म की जरूरत है: ए, बी, सी, ..., जेड, [कुछ और]

किसी भी मदद के लिए धन्यवाद।

उत्तर

6
ORDER BY CASE 
      WHEN LOWER(LEFT(title, 1)) BETWEEN 'a' AND 'z' THEN 0 
      ELSE 1 
     END, 
     title 
+0

केवल यह बदलाव मैंने किया था कि 'LEFT() 'स्क्लाइट द्वारा पहचाना नहीं गया है, लेकिन आश्चर्यजनक रूप से काम किया है। –

1

यह एक हैक का थोड़ा सा है, लेकिन इसे काम करना चाहिए।

SELECT title FROM movie 
ORDER BY CASE WHEN title LIKE '[0-9]%' THEN 'ZZZ' + title ELSE title END ASC 

विचार अपने आदेश खंड उन्हें ZZZ साथ prepending द्वारा संख्या के साथ शुरू आइटम को बदलने बनाना है। एक जगह से शुरू होने वाली वस्तुओं के लिए, आप बस उन्हें एलटीआरआईएम के साथ साफ करना चाहते हैं।

+0

मुझे लगता है कि ज़र्केम्स का जवाब बेहतर है और आपको उस मार्ग पर जाने की सलाह देते हैं। अगर कोई क्रूडर विकल्प चाहता है तो मैं इसे यहां छोड़ दूंगा :-) –

+0

ठीक है, zerkmns समाधान बहुत अच्छा काम करता है, एलटीआरआईएम टिप के लिए धन्यवाद .. – gustyaquino

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