आसान:
SELECT *
FROM tasks
ORDER BY (sort IS NOT DISTINCT FROM -1), sort;
कैसे?
Postgres में उचित boolean
है टाइप करें (कुछ अन्य RDBMS के विपरीत)। आप इसके द्वारा किसी अन्य डेटा प्रकार की तरह ही ऑर्डर कर सकते हैं। और यह किसी भी अन्य डेटा प्रकार की तरह NULL हो सकता है। डिफ़ॉल्ट सॉर्ट क्रम है:
FALSE (0)
TRUE (1)
NULL
(sort IS NOT DISTINCT FROM -1)
FALSE
. का मूल्यांकन करता है -1
. को छोड़कर सभी मानों के लिए - जो TRUE
. का मूल्यांकन करता है और पिछले प्रकार। बस sort
जोड़ें द्वितीयक के रूप में ORDER BY
आइटम।
समतुल्य विकल्प:
SELECT *
FROM tasks
ORDER BY (sort IS DISTINCT FROM -1) DESC, sort;
db<>फिडल यहाँ
पुराना sqlfiddle