ใช้ COALESCE(col1, col2) ใน ORDER BY เลือกค่าที่ไม่ NULL ก่อนเพื่อเรียงตามลำดับเวลา
สร้างตารางตัวอย่าง
mysql> CREATE TABLE DemoTable (
-> FirstName VARCHAR(100),
-> LastName VARCHAR(100)
-> );
เพิ่มข้อมูลตัวอย่าง (มี NULL)
mysql> INSERT INTO DemoTable VALUES('Sam', 'Brown');
mysql> INSERT INTO DemoTable VALUES(NULL, 'Smith');
mysql> INSERT INTO DemoTable VALUES('David', 'Taylor');
mysql> INSERT INTO DemoTable VALUES('Mike', NULL);
แสดงข้อมูล
mysql> SELECT * FROM DemoTable;
ผลลัพธ์:
+-----------+----------+ | FirstName | LastName | +-----------+----------+ | Sam | Brown | | NULL | Smith | | David | Taylor | | Mike | NULL | +-----------+----------+
คำสั่งเรียงด้วย COALESCE(FirstName, LastName)
mysql> SELECT * FROM DemoTable ORDER BY COALESCE(FirstName, LastName);
ผลลัพธ์:
+-----------+----------+ | FirstName | LastName | +-----------+----------+ | David | Taylor | | Mike | NULL | | Sam | Brown | | NULL | Smith | +-----------+----------+
คำอธิบาย: COALESCE(FirstName, LastName) คืนค่า FirstName ถ้าไม่ NULL ไม่งั้น LastName | ใช้ใน ORDER BY ได้ | David (D) < Mike (M) < Sam (S) < Smith (S) - เรียงตามตัวอักษร