आप किसी भी कॉलम के साथ ऑर्डर करने के लिए फ़ील्ड () फ़ंक्शन का उपयोग करके….WHERE id IN(..) का चयन कर सकते हैं। वाक्य रचना इस प्रकार है -
SELECT *FROM yourTableName WHERE yourColumnName IN(‘value1’,’value2’,.......N) ORDER BY FIELD(yourColumnName,value1’,’value2’,.......N);
ऊपर दिए गए सिंटैक्स को समझने के लिए, आइए एक टेबल बनाएं -
mysql> create table SelectOrderbyField -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(30), -> Age int, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.62 sec)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -
mysql> insert into SelectOrderbyField(Name,Age) values('John',23); Query OK, 1 row affected (0.13 sec) mysql> insert into SelectOrderbyField(Name,Age) values('Carol',25); Query OK, 1 row affected (0.16 sec) mysql> insert into SelectOrderbyField(Name,Age) values('Bob',21); Query OK, 1 row affected (0.15 sec) mysql> insert into SelectOrderbyField(Name,Age) values('Mike',28); Query OK, 1 row affected (0.17 sec) mysql> insert into SelectOrderbyField(Name,Age) values('Sam',26); Query OK, 1 row affected (0.12 sec) mysql> insert into SelectOrderbyField(Name,Age) values('David',23); Query OK, 1 row affected (0.19 sec)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -
mysql> select *from SelectOrderbyField;
निम्न आउटपुट है -
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 1 | John | 23 | | 2 | Carol | 25 | | 3 | Bob | 21 | | 4 | Mike | 28 | | 5 | Sam | 26 | | 6 | David | 23 | +----+-------+------+ 6 rows in set (0.00 sec)
फ़ील्ड() फ़ंक्शन द्वारा ऑर्डर का उपयोग करके ...कहां आईडी (..) का चयन करने के लिए प्रश्न यहां दिए गए हैं।
आईडी कॉलम के साथ ऑर्डर करें
क्वेरी इस प्रकार है -
mysql> select *from SelectOrderbyField where Id IN(5,1,3,2,6,4) -> order by field(Id,5,1,3,2,6,4);
निम्न आउटपुट है -
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 5 | Sam | 26 | | 1 | John | 23 | | 3 | Bob | 21 | | 2 | Carol | 25 | | 6 | David | 23 | | 4 | Mike | 28 | +----+-------+------+ 6 rows in set (0.00 sec)
नाम कॉलम के साथ ऑर्डर करें
आप नाम कॉलम के आधार पर सही ढंग से ऑर्डर कर सकते हैं। क्वेरी इस प्रकार है -
mysql> select *from SelectOrderbyField where Name IN('Sam','John','Bob','Carol','David','Mike') -> order by field(Name,'Sam','John','Bob','Carol','David','Mike');
निम्न आउटपुट है -
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 5 | Sam | 26 | | 1 | John | 23 | | 3 | Bob | 21 | | 2 | Carol | 25 | | 6 | David | 23 | | 4 | Mike | 28 | +----+-------+------+ 6 rows in set (0.03 sec)