ใช้ CASE WHEN ... LIKE ... THEN priority ใน ORDER BY เพื่อจัดลำดับตาม Pattern รูปแบบ:
SELECT * FROM yourTableName
ORDER BY CASE
WHEN col LIKE '%pattern1%' THEN 1
WHEN col LIKE '%pattern2%' THEN 2
ELSE 3
END;
ตัวอย่าง: เรียงตามนามสกุล
สร้างตาราง 6 เรคคอร์ด (มี Taylor, Miller, Smith, Williams)
mysql> SELECT * FROM OrderByLikeDemo
-> ORDER BY CASE
-> WHEN Name LIKE '%Taylor%' THEN 1
-> WHEN Name LIKE '%Miller%' THEN 2
-> ELSE 3
-> END;
ผลลัพธ์: Taylor ก่อน → Miller → อื่นๆ
+------+--------------+
| Id | Name |
+------+--------------+
| 101 | Carol Taylor |
| 103 | Mike Taylor |
| 102 | David Miller |
| 104 | Bob Miller |
| 100 | John Smith |
| 105 | Sam Williams |
+------+--------------+
ประยุกต์: จัดลำดับตาม Category, Tag, หรือ Keyword ที่สำคัญ