ORDER BY में NULL को पहले रखने की तकनीक
MySQL में डिफ़ॉल्ट रूप से ORDER BY col DESC NULL मानों को अंत में रखता है। NULL को पहले लाने के लिए, आप IS NULL एक्सप्रेशन का उपयोग कर सकते हैं।
सिंटैक्स
SELECT yourColumnName FROM yourTableName ORDER BY yourColumnName IS NULL DESC, yourColumnName DESC;
उदाहरण
mysql> CREATE TABLE OrderByNullFirstDemo (StudentId INT); mysql> INSERT INTO OrderByNullFirstDemo VALUES(100), (200), (150), (NULL);
सामान्य DESC ऑर्डर:
mysql> SELECT StudentId FROM OrderByNullFirstDemo ORDER BY StudentId DESC;
+-----------+ | StudentId | +-----------+ | 200 | | 150 | | 100 | | NULL | +-----------+
NULL पहले के साथ DESC ऑर्डर
mysql> SELECT StudentId FROM OrderByNullFirstDemo
-> ORDER BY StudentId IS NULL DESC, StudentId DESC;
+-----------+ | StudentId | +-----------+ | NULL | | 200 | | 150 | | 100 | +-----------+
व्याख्या: StudentId IS NULL TRUE (1) या FALSE (0) देता है। DESC के साथ TRUE पहले आता है, इसलिए NULL पंक्तियां शीर्ष पर आती हैं।