एक निश्चित क्रम में रिकॉर्ड प्राप्त करने के लिए आप ORDER BY IF() का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं:
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName varchar(20), Branch varchar(20) ); Query OK, 0 rows affected (1.96 sec)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालने के लिए क्वेरी निम्नलिखित है:
mysql> insert into DemoTable(FirstName,Branch) values('John','CS'); Query OK, 1 row affected (0.22 sec) mysql> insert into DemoTable(FirstName,Branch) values('Carol','ME'); Query OK, 1 row affected (0.25 sec) mysql> insert into DemoTable(FirstName,Branch) values('David','ME'); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable(FirstName,Branch) values('Bob','CE'); Query OK, 1 row affected (0.35 sec) mysql> insert into DemoTable(FirstName,Branch) values('Robert','EE'); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable(FirstName,Branch) values('Chris','EEE'); Query OK, 1 row affected (0.27 sec) mysql> insert into DemoTable(FirstName,Branch) values('James','ME'); Query OK, 1 row affected (0.56 sec)
चयन कमांड का उपयोग करके तालिका से रिकॉर्ड प्रदर्शित करने के लिए क्वेरी निम्नलिखित है:
mysql> select *from DemoTable;
यह निम्नलिखित आउटपुट उत्पन्न करेगा:
+----+-----------+--------+ | Id | FirstName | Branch | +----+-----------+--------+ | 1 | John | CS | | 2 | Carol | ME | | 3 | David | ME | | 4 | Bob | CE | | 5 | Robert | EE | | 6 | Chris | EEE | | 7 | James | ME | +----+-----------+--------+ 7 rows in set (0.00 sec)
MySQL का उपयोग करके एक निश्चित क्रम में रिकॉर्ड प्राप्त करने के लिए क्वेरी निम्नलिखित है। हमने जो आदेश शाखा 'एमई' से शुरू करने के लिए निर्धारित किया है:
mysql> select *from DemoTable order by if(Branch='ME',1,0)DESC,Branch;
यह निम्नलिखित आउटपुट उत्पन्न करेगा:
+----+-----------+--------+ | Id | FirstName | Branch | +----+-----------+--------+ | 2 | Carol | ME | | 3 | David | ME | | 7 | James | ME | | 4 | Bob | CE | | 1 | John | CS | | 5 | Robert | EE | | 6 | Chris | EEE | +----+-----------+--------+ 7 rows in set (0.00 sec)