डुप्लिकेट रिकॉर्ड के लिए डेटा सॉर्ट करने के लिए ORDER BY का उपयोग करें।
आइए पहले एक टेबल बनाते हैं:
mysql> create table DemoTable788 ( FirstName varchar(100), Score int ); Query OK, 0 rows affected (1.89 sec)
इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें:
mysql> insert into DemoTable788 values('Chris',78);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable788 values('Robert',67);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable788 values('Chris',98);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable788 values('Chris',56);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable788 values('Robert',43);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable788 values('Robert',97);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable788 values('Chris',79);
Query OK, 1 row affected (0.12 sec)
सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:
mysql> select * from DemoTable788;
यह निम्नलिखिक आउटपुट देगा:
+-----------+-------+ | FirstName | Score | +-----------+-------+ | Chris | 78 | | Robert | 67 | | Chris | 98 | | Chris | 56 | | Robert | 43 | | Robert | 97 | | Chris | 79 | +-----------+-------+ 7 rows in set (0.00 sec)
डुप्लिकेट नाम 'Chris' के लिए डेटा सॉर्ट करने की क्वेरी (अवरोही क्रम)
mysql> select Score from DemoTable788 where FirstName='Chris' order by Score DESC;
यह निम्नलिखिक आउटपुट देगा:
+-------+ | Score | +-------+ | 98 | | 79 | | 78 | | 56 | +-------+ 4 rows in set (0.00 sec)
व्याख्या
WHERE FirstName='Chris'केवल Chris की पंक्तियों को फ़िल्टर करता हैORDER BY Score DESCस्कोर को उच्चतम से निम्नतम क्रम में सॉर्ट करता है- Chris के 4 रिकॉर्ड हैं: 98, 79, 78, 56
ASC(डिफ़ॉल्ट) आरोही क्रम के लिए,DESCअवरोही के लिए
द्वितीयक सॉर्ट जोड़ना
SELECT * FROM DemoTable788 WHERE FirstName='Chris' ORDER BY Score DESC, FirstName;
यदि स्कोर समान हों, तो नाम द्वारा सॉर्ट करेगा (यहां सभी Chris हैं)।