ORDER BY (p.id=14) DESC, (p.mPrice=p.vPrice) DESC
p.id=14
रिटर्न 1
अगर शर्त सही है, 0
अन्यथा, इसलिए अवरोही क्रमित करना वांछित पंक्ति को शीर्ष पर लाता है।
किसी संख्या को तुलना से लौटाना एक MySQL सुविधा है, मानक SQL के साथ आप लिखेंगे:
ORDER BY CASE WHEN (p.id=14) THEN 0 ELSE 1 END,
CASE WHEN (p.mPrice=p.vPrice) THEN 0 ELSE 1 END
मुझे UNION
. की तुलना में इसे पढ़ना आसान लगता है , और यह बेहतर प्रदर्शन कर सकता है।