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

MySQL में एक कॉलम से विशिष्ट मान कैसे चुनें?


MAX() और GROUP BY से एक कॉलम के विशिष्ट मान

MySQL में जब एक कॉलम के मान डुप्लीकेट हों और दूसरे कॉलम के अलग-अलग हों, तो किसी एक कॉलम के विशिष्ट मान पाने के लिए MAX() (या MIN()) के साथ GROUP BY का उपयोग करें।

उदाहरण स्थिति

टेबल बनाएं:

mysql> CREATE TABLE distinctFromOneColumn (
    -> StudentId INT,
    -> StudentName VARCHAR(100)
    -> );

डेटा इन्सर्ट करें (StudentId 1001 के तीन अलग नाम हैं):

mysql> INSERT INTO distinctFromOneColumn VALUES(1001, 'John');
mysql> INSERT INTO distinctFromOneColumn VALUES(1002, 'Carol');
mysql> INSERT INTO distinctFromOneColumn VALUES(1001, 'Sam');
mysql> INSERT INTO distinctFromOneColumn VALUES(1001, 'David');
mysql> INSERT INTO distinctFromOneColumn VALUES(1002, 'Ramit');
mysql> INSERT INTO distinctFromOneColumn VALUES(1003, 'Bob');

सभी रिकॉर्ड:

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1001      | John        |
| 1002      | Carol       |
| 1001      | Sam         |
| 1001      | David       |
| 1002      | Ramit       |
| 1003      | Bob         |
+-----------+-------------+

प्रति StudentId एक नाम चुनने की क्वेरी

mysql> SELECT StudentId, MAX(StudentName) AS StudentName
    -> FROM distinctFromOneColumn
    -> GROUP BY StudentId;

परिणाम:

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1001      | Sam         |
| 1002      | Ramit       |
| 1003      | Bob         |
+-----------+-------------+

व्याख्या:

  • GROUP BY StudentId - प्रत्येक StudentId के लिए एक पंक्ति बनाता है
  • MAX(StudentName) - वर्णानुक्रम में सबसे बड़ा नाम चुनता है (Sam > John > David)
  • MIN(StudentName) उपयोग करके सबसे छोटा नाम पा सकते हैं

ध्यान दें: यह तरीका तभी उपयोगी है जब आपको किसी भी एक मान से काम चल जाए। यदि विशिष्ट नियम से चुनना हो (जैसे नवीनतम रिकॉर्ड), तो अन्य तरीके अपनाएं।

  1. - MySQL में ENUM कॉलम से केवल 'NO' मानों की गणना करें

    MySQL में ENUM कॉलम पर सशर्त गणना के लिए बूलियन अभिव्यक्ति का योग (SUM(condition)) उपयोग कर सकते हैं। MySQL में TRUE = 1 और FALSE = 0 होता है। टेबल बनाएं mysql> CREATE TABLE DemoTable1829 ( Name VARCHAR(20), isTopper ENUM(YES,NO) ); डेटा डालें mysql> INSERT INTO DemoTable1829 VALUES(

  1. - MySQL में DISTINCT कॉलम से औसत कैसे चुनें?

    MySQL में विशिष्ट (DISTINCT) मानों के आधार पर औसत निकालने के लिए, सबक्वेरी में DISTINCT का उपयोग करके डुप्लिकेट हटाएं, फिर बाहरी क्वेरी में AVG() लागू करें। उदाहरण: विशिष्ट छात्र-मान संयोजनों का औसत डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1934 ( StudentName VARCHAR(20), StudentMa

  1. - MySQL में मान 0 होने पर दूसरे कॉलम का मान कैसे चुनें?

    IF() फ़ंक्शन का उपयोग यदि किसी कॉलम का मान 0 है तो दूसरे कॉलम का मान लेने के लिए IF() फ़ंक्शन प्रयोग करें: select IF(yourColumnName1=0, yourColumnName2, yourColumnName1) as anyAliasName from yourTableName; टेबल बनाना और डेटा डालना insert into demo30(value,original_value) values(30,0); डेटा देखना