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

MySQL में IN क्लॉज के क्रम में पंक्तियाँ कैसे चुनें?


MySQL में FIND_IN_SET() का उपयोग करके IN क्लॉज के क्रम में परिणाम प्राप्त करना

डिफ़ॉल्ट रूप से IN() क्लॉज परिणामों को सॉर्ट कर देता है। मूल क्रम बनाए रखने के लिए FIND_IN_SET() का उपयोग करें।

सिंटैक्स

SELECT yourAlias.* FROM yourTableName yourAlias
WHERE yourAlias.yourColumnName IN (value1, value2, ...)
ORDER BY FIND_IN_SET(yourAlias.yourColumnName, 'value1,value2,...');

उदाहरण

टेबल बनाएं:

mysql> create table InDemo (
    -> CodeId int,
    -> Name varchar(20)
    -> );

डेटा डालें:

mysql> insert into InDemo values(1, 'John');
mysql> insert into InDemo values(2, 'Carol');
mysql> insert into InDemo values(3, 'Sam');
mysql> insert into InDemo values(4, 'Bob');

क्रम: 1, 3, 2, 4 में परिणाम प्राप्त करें:

mysql> select tbl.* from InDemo tbl
    -> where tbl.CodeId in (1, 3, 2, 4)
    -> ORDER BY FIND_IN_SET(tbl.CodeId, '1,3,2,4');

परिणाम:

+--------+-------+
| CodeId | Name  |
+--------+-------+
|      1 | John  |
|      3 | Sam   |
|      2 | Carol |
|      4 | Bob   |
+--------+-------+

महत्वपूर्ण नोट्स

  • FIND_IN_SET() स्ट्रिंग में मान की स्थिति लौटाता है (1-आधारित)
  • मानों में कॉमा नहीं होना चाहिए
  • बड़े डेटासेट के लिए प्रदर्शन प्रभाव हो सकता है
  • MySQL 8.0+ में FIELD() फ़ंक्शन भी उपयोग कर सकते हैं: ORDER BY FIELD(CodeId, 1, 3, 2, 4)
  1. - ORDER BY क्लॉज के साथ MySQL व्यू कैसे बनाएं?

    हम MySQL ORDER BY क्लॉज का उपयोग अपने परिणाम सेट में रिकॉर्ड को क्रमबद्ध करने के लिए कर सकते हैं। GROUP BY क्लॉज को व्यू के साथ समझने के लिए हम Info नामक एक व्यू बना रहे हैं जो आधार तालिका Student_info का उपयोग करता है जिसमें निम्न डेटा है: Select * from Student_info; +------+---------+------------

  1. - MySQL में UNION और ORDER BY क्लॉज का उपयोग कैसे करें

    यूनियन MySQL में एक प्रकार का ऑपरेटर है। हम रिकॉर्ड्स को फ़िल्टर करने के लिए इसके साथ ORDER BY का उपयोग कर सकते हैं। यदि आप कई टेबल्स से या एक ही टेबल से पंक्तियों के कई सेट्स को एकल परिणाम सेट के रूप में एक के बाद एक चुनना चाहते हैं तो UNION का उपयोग करें। आइए एक उदाहरण देखते हैं। पहली टेबल बनाना

  1. MySQL से अंतिम 10 रो कैसे चुनें? MySQL से अंतिम 10 रो कैसे चुनें?

    MySQL से अंतिम 10 रो चुनने के लिए, हम SELECT स्टेटमेंट और LIMIT कॉन्सेप्ट के साथ सबक्वेरी का उपयोग कर सकते हैं। निम्न एक उदाहरण है। टेबल बनाना। mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) टेबल में रिकॉर