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

शीर्ष दो उच्चतम स्कोर खोजने के लिए MySQL क्वेरी

MAX() और GROUP BY के साथ प्रति आईडी उच्चतम स्कोर प्राप्त करना

इसके लिए एग्रीगेट फंक्शन MAX() का उपयोग करें। पहले टेबल बनाएं:

mysql> create table DemoTable1383 ( Id int, PlayerScore int ); Query OK, 0 rows affected (0.90 sec)

रिकॉर्ड डालें:

mysql> insert into DemoTable1383 values(200,78); Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1383 values(200,89); Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1383 values(200,89); Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1383 values(200,87); Query OK, 1 row affected (0.29 sec)
mysql> insert into DemoTable1383 values(203,97); Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable1383 values(200,57); Query OK, 1 row affected (0.17 sec)

सभी रिकॉर्ड देखें:

mysql> select * from DemoTable1383;

आउटपुट:

+------+-------------+ | Id   | PlayerScore | +------+-------------+ | 200  | 78          | | 200  | 89          | | 200  | 89          | | 200  | 87          | | 203  | 97          | | 200  | 57          | +------+-------------+ 6 rows in set (0.00 sec)

उच्चतम स्कोर खोजने और विशिष्ट मान प्रदर्शित करने की क्वेरी:

mysql> select Id, max(PlayerScore) from DemoTable1383 group by Id order by max(PlayerScore) DESC;

परिणाम:

+------+------------------+ | Id   | max(PlayerScore) | +------+------------------+ | 203  | 97               | | 200  | 89               | +------+------------------+ 2 rows in set (0.00 sec)

व्याख्या: GROUP BY Id प्रत्येक आईडी के लिए अधिकतम स्कोर की गणना करता है। ORDER BY MAX(PlayerScore) DESC परिणामों को उच्चतम से निम्नतम क्रम में सॉर्ट करता है। शीर्ष दो पंक्तियां (आईडी 203 के लिए 97 और आईडी 200 के लिए 89) लौटाई जाती हैं। ध्यान दें: यह प्रति आईडी शीर्ष स्कोर दिखाता है, न कि समग्र शीर्ष 2 स्कोर।

  1. - MySQL में TIMESTAMPDIFF का उपयोग करके दो DATETIME मानों के बीच अंतर ज्ञात करें

    MySQL में दो DATETIME मानों के बीच अंतर की गणना MySQL में TIMESTAMPDIFF() फ़ंक्शन दो डेटाइम मानों के बीच निर्दिष्ट इकाई (सेकंड, मिनट, घंटे, दिन, आदि) में अंतर लौटाता है। DATEDIFF() के विपरीत जो केवल दिन लौटाता है, TIMESTAMPDIFF लचीला है। टेबल बनाना ); Query OK, 0 rows affected (0.86 sec) डेटा डाल

  1. - MySQL में GREATEST/LEAST से दो कॉलम में जोड़ी की घटनाएं गिनें

    दो कॉलम में मानों की जोड़ी (क्रम की परवाह किए बिना) की घटनाएं गिनने के लिए GREATEST() और LEAST() फ़ंक्शन के साथ GROUP BY का उपयोग करें। उदाहरण: नाम जोड़े की घटनाएं गिनना 1. टेबल बनाएं ); 2. डेटा डालें INSERT INTO DemoTable VALUES(Mike, Robert); -- उल्टा क्रम 3. डेटा देखें SELECT * FROM DemoT

  1. - MySQL क्वेरी डुप्लिकेट टुपल्स खोजने और गिनती प्रदर्शित करने के लिए?

    डुप्लिकेट टुपल्स खोजने के लिए GROUP BY HAVING क्लॉज का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20) -> ); Query OK, 0 rows affected (0.80 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into De