CASE स्टेटमेंट के साथ पैटर्न-आधारित सॉर्टिंग
LIKE पैटर्न के आधार पर पंक्तियों को क्रमबद्ध करने के लिए ORDER BY में CASE एक्सप्रेशन का उपयोग करें।
सिंटैक्स
SELECT * FROM yourTableName
ORDER BY CASE
WHEN yourColumnName LIKE '%pattern1%' THEN 1
WHEN yourColumnName LIKE '%pattern2%' THEN 2
ELSE 3
END;
उदाहरण
mysql> CREATE TABLE OrderByLikeDemo (Id INT, Name VARCHAR(100));
mysql> INSERT INTO OrderByLikeDemo VALUES
-> (100,'John Smith'), (101,'Carol Taylor'), (102,'David Miller'),
-> (103,'Mike Taylor'), (104,'Bob Miller'), (105,'Sam Williams');
'Taylor' पहले, फिर 'Miller', फिर बाकी:
mysql> SELECT * FROM OrderByLikeDemo
-> ORDER BY CASE
-> WHEN Name LIKE '%Taylor%' THEN 1
-> WHEN Name LIKE '%Miller%' THEN 2
-> ELSE 3
-> END;
+------+--------------+ | Id | Name | +------+--------------+ | 101 | Carol Taylor | | 103 | Mike Taylor | | 102 | David Miller | | 104 | Bob Miller | | 100 | John Smith | | 105 | Sam Williams | +------+--------------+
उपयोग: रिपोर्ट में प्राथमिकता-आधारित सॉर्टिंग के लिए उपयोगी।