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

MySQL में दो कॉलम से विशिष्ट संयोजन (Distinct Combinations) कैसे चुनें?


दो कॉलम से विशिष्ट संयोजन चुनने के लिए CASE स्टेटमेंट का उपयोग करें।

टेबल बनाएं

mysql> CREATE TABLE select_DistinctTwoColumns (
    -> Id INT NOT NULL AUTO_INCREMENT,
    -> FirstValue CHAR(1),
    -> SecondValue CHAR(1),
    -> PRIMARY KEY(Id)
    -> ); 
Query OK, 0 rows affected (0.57 sec)

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

mysql> INSERT INTO select_DistinctTwoColumns(FirstValue, SecondValue) VALUES('s', 't'); 
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO select_DistinctTwoColumns(FirstValue, SecondValue) VALUES('t', 'u'); 
Query OK, 1 row affected (0.24 sec)
mysql> INSERT INTO select_DistinctTwoColumns(FirstValue, SecondValue) VALUES('u', 'v'); 
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO select_DistinctTwoColumns(FirstValue, SecondValue) VALUES('u', 't'); 
Query OK, 1 row affected (0.16 sec)

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

mysql> SELECT * FROM select_DistinctTwoColumns;

आउटपुट

+----+------------+-------------+
| Id | FirstValue | SecondValue |
+----+------------+-------------+
| 1  | s          | t           |
| 2  | t          | u           |
| 3  | u          | v           |
| 4  | u          | t           |
+----+------------+-------------+
4 rows in set (0.00 sec)

पंक्ति 1: (s, t) और पंक्ति 4: (u, t) - दोनों में 't' और दूसरा मान है। क्रम की परवाह किए बिना विशिष्ट जोड़े चाहिए।

CASE स्टेटमेंट से विशिष्ट संयोजन चुनें

mysql> SELECT DISTINCT 
    -> CASE 
    ->   WHEN FirstValue < SecondValue THEN FirstValue 
    ->   ELSE SecondValue 
    -> END AS FirstColumn, 
    -> CASE 
    ->   WHEN FirstValue > SecondValue THEN FirstValue 
    ->   ELSE SecondValue 
    -> END AS SecondColumn 
    -> FROM select_DistinctTwoColumns;

आउटपुट

+-------------+--------------+
| FirstColumn | SecondColumn |
+-------------+--------------+
| s           | t            |
| t           | u            |
| u           | v            |
+-------------+--------------+
3 rows in set (0.00 sec)

CASE स्टेटमेंट दोनों कॉलम के मानों को वर्णानुक्रम में व्यवस्थित करता है: छोटा मान FirstColumn में, बड़ा मान SecondColumn में। फिर DISTINCT डुप्लिकेट जोड़े हटा देता है। (s,t) और (t,s) दोनों (s,t) बन जाते हैं।

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

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

  1. - MySQL में MAX() और सबक्वेरी से दो कॉलम के योग का अधिकतम मान वाली पंक्ति चुनें

    दो कॉलम के योग का अधिकतम मान वाली पंक्ति ढूंढने के लिए सबक्वेरी में MAX(कॉलम1 + कॉलम2) का उपयोग करें। सिंटैक्स SELECT * FROM टेबल_नाम WHERE कॉलम1 + कॉलम2 = (SELECT MAX(कॉलम1 + कॉलम2) FROM टेबल_नाम); उदाहरण 1. टेबल बनाएं CREATE TABLE DemoTable1587 (Value1 INT, Value2 INT); 2. डेटा डालें INSERT

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

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