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

MySQL में SELECT * के साथ DISTINCT ID कैसे प्राप्त करें?


SELECT * के साथ विशिष्ट ID प्राप्त करने के लिए GROUP BY कमांड का उपयोग करें।

सिंटैक्स

SELECT * FROM yourTableName GROUP BY yourColumnName;

उदाहरण के साथ समझें

सबसे पहले एक टेबल बनाते हैं (बिना प्राइमरी की के ताकि डुप्लिकेट ID डाले जा सकें):

mysql> CREATE TABLE DistinctIdDemo (
    -> Id INT,
    -> Name VARCHAR(20),
    -> Age INT
    -> ); 
Query OK, 0 rows affected (1.03 sec)

डुप्लिकेट ID के साथ रिकॉर्ड डालें

mysql> INSERT INTO DistinctIdDemo VALUES(1, 'Mike', 23); 
Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO DistinctIdDemo VALUES(2, 'Sam', 24); 
Query OK, 1 row affected (0.20 sec)
mysql> INSERT INTO DistinctIdDemo VALUES(1, 'Carol', 23); 
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DistinctIdDemo VALUES(1, 'John', 28); 
Query OK, 1 row affected (0.33 sec)
mysql> INSERT INTO DistinctIdDemo VALUES(3, 'David', 26); 
Query OK, 1 row affected (0.22 sec)
mysql> INSERT INTO DistinctIdDemo VALUES(2, 'Larry', 29); 
Query OK, 1 row affected (0.20 sec)

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

mysql> SELECT * FROM DistinctIdDemo;

आउटपुट

+------+-------+------+
| Id   | Name  | Age  |
+------+-------+------+
| 1    | Mike  | 23   |
| 2    | Sam   | 24   |
| 1    | Carol | 23   |
| 1    | John  | 28   |
| 3    | David | 26   |
| 2    | Larry | 29   |
+------+-------+------+
6 rows in set (0.00 sec)

ID 1 तीन बार और ID 2 दो बार दोहराया गया है।

DISTINCT ID के साथ सभी कॉलम चुनें

mysql> SELECT * FROM DistinctIdDemo GROUP BY Id;

आउटपुट

+------+-------+------+
| Id   | Name  | Age  |
+------+-------+------+
| 1    | Mike  | 23   |
| 2    | Sam   | 24   |
| 3    | David | 26   |
+------+-------+------+
3 rows in set (0.00 sec)

महत्वपूर्ण नोट: MySQL में GROUP BY के साथ SELECT * का उपयोग करने पर, ग्रुप में पहली पंक्ति के मान लौटाए जाते हैं (जो अनिश्चित हो सकते हैं)। विशिष्ट कॉलम के लिए एग्रीगेट फ़ंक्शन (MIN, MAX, ANY_VALUE) का उपयोग करना बेहतर है।

बेहतर दृष्टिकोण

SELECT Id, ANY_VALUE(Name) AS Name, ANY_VALUE(Age) AS Age 
FROM DistinctIdDemo GROUP BY Id;
  1. - MySQL में REGEXP से रेगुलर एक्सप्रेशन पैटर्न मिलान क्वेरी

    MySQL का REGEXP ऑपरेटर रेगुलर एक्सप्रेशन पैटर्न मिलान करके पंक्तियों को फ़िल्टर करता है, जो LIKE से अधिक शक्तिशाली है। सिंटैक्स SELECT * FROM टेबल_नाम WHERE कॉलम_नाम REGEXP पैटर्न; उदाहरण: अंडरस्कोर के बाद अंक वाले कोड ढूंढें 1. टेबल बनाएं ); 2. डेटा डालें INSERT INTO DemoTable1573(StudentCode

  1. - MySQL में INSERT ... SELECT क्वेरी का उपयोग कैसे करें?

    MySQL में INSERT ... SELECT स्टेटमेंट एक ही क्वेरी में एक तालिका से दूसरी तालिका में डेटा कॉपी करने या मानों की गणना करके डालने की अनुमति देता है। सिंटैक्स INSERT INTO target_table (col1, col2, col3, ...) SELECT col1, col2, col3, ... FROM source_table WHERE condition; उदाहरण: मानों को सीधे चुनकर ड

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

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