अपने इच्छित क्रम में छँटाई प्राप्त करने के लिए, ORDER BY में अपनी शर्तों का उपयोग करें, लेकिन DESC
का उपयोग करें उनके बाद।
SELECT *
FROM person
WHERE (condition1 OR condition2 OR condition3)
AND maintable.status = static
ORDER BY
condition1 DESC,
condition2 DESC,
condition3 DESC
यदि यह काम नहीं करता है क्योंकि आपकी क्वेरी अधिक जटिल है, तो आप अपनी क्वेरी (A OR B OR C) AND D
को बदलने के लिए बूलियन लॉजिक का उपयोग कर सकते हैं। (A AND D) OR (B AND D) OR (C AND D)
में तो आप निम्न क्वेरी का उपयोग कर सकते हैं:
SELECT *
FROM person
WHERE (condition1 OR condition2 OR condition3)
AND maintable.status = static
ORDER BY
condition1 AND static DESC,
condition2 AND static DESC,
condition3 AND static DESC
AND static
यहां जरूरी नहीं है क्योंकि सभी पंक्तियां इसे वापस कर देती हैं, लेकिन एक अधिक जटिल उदाहरण में (जहां आप कुछ पंक्तियां भी लौटाते हैं जो स्थिर नहीं हैं) तो आपको इसे इस तरह से करना होगा।