Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में ORDER BY LIKE कैसे करें?

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 |
+------+--------------+

उपयोग: रिपोर्ट में प्राथमिकता-आधारित सॉर्टिंग के लिए उपयोगी।

  1. - MySQL में आइटम का क्रम कैसे बदलें

    MySQL में आइटम का क्रम बदलने के लिए, ORDER BY एलियास नाम का उपयोग करें। पहले एक टेबल बनाते हैं: mysql> create table DemoTable653 (Product1Amount int,Product2Amount int); Query OK, 0 rows affected (0.42 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable653

  1. - MySQL में ORDER BY FIELD को GROUP BY के साथ एकल क्वेरी में कैसे उपयोग करें

    इसके लिए, आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable ( Message text ); Query OK, 0 rows affected (1.15 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(Good); Query OK, 1 row affected (0.43 sec) mysql> insert into Demo

  1. - MySQL में शर्त के साथ ORDER BY और SELECT कैसे करें?

    कंडीशनल ORDER BY: जीरो वैल्यू अंत में किसी कॉलम को सॉर्ट करते समय खास मान (जैसे 0) को अंत में रखने और बाकी को नॉर्मल ऑर्डर में रखने के लिए बूलियन एक्सप्रेशन का उपयोग करें। सिंटैक्स SELECT * FROM yourTableName ORDER BY yourColumnName = 0, yourColumnName; टेबल बनाना और डेटा इन्सर्ट करना CREATE TABL