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

MySql में WHERE `id` IN (…) के साथ सटीक क्रम कैसे निर्दिष्ट करें?

<घंटा/>

आईडी IN के साथ सटीक क्रम निर्दिष्ट करने के लिए, आपको find_in_set() फ़ंक्शन का उपयोग करने की आवश्यकता है।

वाक्य रचना इस प्रकार है

SELECT *FROM yourTableName
WHERE yourColumnName IN (yourValue1,yourValue2,yourValue3,....N)
ORDER BY FIND_IN_SET(yourColumnName , ‘yourValue1,yourValue2,yourValue3,....N’');

आइए पहले एक टेबल बनाएं

mysql> create table FindInSetDemo
   - > (
   - > Id int,
   - > Name varchar(20),
   - > Age int
   - > );
Query OK, 0 rows affected (0.54 sec)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें।

क्वेरी इस प्रकार है

mysql> insert into FindInSetDemo values(10,'John',23);
Query OK, 1 row affected (0.20 sec)
mysql> insert into FindInSetDemo values(1,'Carol',21);
Query OK, 1 row affected (0.17 sec)
mysql> insert into FindInSetDemo values(4,'Bob',25);
Query OK, 1 row affected (0.19 sec)
mysql> insert into FindInSetDemo values(6,'Sam',26);
Query OK, 1 row affected (0.15 sec)
mysql> insert into FindInSetDemo values(7,'Maxwell',29);
Query OK, 1 row affected (0.18 sec)
mysql> insert into FindInSetDemo values(8,'Mike',22);
Query OK, 1 row affected (0.13 sec)
mysql> insert into FindInSetDemo values(2,'David',27);
Query OK, 1 row affected (0.20 sec)
mysql> insert into FindInSetDemo values(3,'James',20);
Query OK, 1 row affected (0.20 sec)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें।

क्वेरी इस प्रकार है

mysql> select *from FindInSetDemo;

निम्न आउटपुट है

+------+---------+------+
| Id   | Name    | Age  |
+------+---------+------+
|   10 | John    | 23   |
|    1 | Carol   | 21   |
|    4 | Bob     | 25   |
|    6 | Sam     | 26   |
|    7 | Maxwell | 29   |
|    8 | Mike    | 22   |
|    2 | David   | 27   |
|    3 | James   | 20   |
+------+---------+------+
8 rows in set (0.00 sec)

यहां सटीक क्रम निर्दिष्ट करने के लिए क्वेरी है जहां आईडी IN()

mysql> select *from FindInSetDemo
   - > where Id IN (1,4,6,7)
   - > order by FIND_IN_SET(Id, '1,4,6,7');

निम्न आउटपुट है

+------+---------+------+
| Id   | Name    | Age  |
+------+---------+------+
|    1 | Carol   |   21 |
|    4 | Bob     |   25 |
|    6 | Sam     |   26 |
|    7 | Maxwell |   29 |
+------+---------+------+
4 rows in set (0.00 sec)

  1. MySQL व्यू का उपयोग WHERE क्लॉज के साथ कैसे करें?

    MySQL व्यू के लिए WHERE क्लॉज के साथ, सिंटैक्स इस प्रकार है - अपने व्यूनाम से * चुनें जहां आपका कॉलमनाम=आपका वैल्यू; आइए पहले एक − . बनाएं );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (1.26 सेकंड) इंसर्ट का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1432(StudentName,StudentBranchName) मानों में

  1. "आदेश" नामक तालिका के साथ MySQL क्वेरी त्रुटि?

    आदेश एक आरक्षित शब्द है। अभी भी आरक्षित शब्द का उपयोग करने के लिए, आपको कॉलम नाम के आसपास बैकटिक्स का उपयोग करने की आवश्यकता है। आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (1.78 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - `ऑर्डर` मूल्यों में डालें ( 205);क्व

  1. संख्यात्मक उपयोगकर्ता परिभाषित चर के साथ MySQL आदेश?

    आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1898 (नंबर int);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1898 मान (40) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.00 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शि