समाधान: DISTINCT कीवर्ड
किसी कॉलम से डुप्लीकेट मानों को हटाकर केवल अद्वितीय मान प्राप्त करने के लिए DISTINCT कीवर्ड का उपयोग करें।
सिंटैक्स
SELECT DISTINCT yourColumnName FROM yourTableName;
व्यावहारिक उदाहरण
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE selectUniqueValue (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name VARCHAR(20),
-> Age INT
-> );
mysql> INSERT INTO selectUniqueValue(Name, Age) VALUES
-> ('John', 21), ('Carol', 21), ('Sam', 22), ('Mike', 22),
-> ('David', 22), ('Larry', 23), ('Bob', 23), ('Maxwell', 22), ('Robert', 21);
मूल डेटा (9 पंक्तियाँ)
| Id | Name | Age |
|---|---|---|
| 1 | John | 21 |
| 2 | Carol | 21 |
| 3 | Sam | 22 |
| 4 | Mike | 22 |
| 5 | David | 22 |
| 6 | Larry | 23 |
| 7 | Bob | 23 |
| 8 | Maxwell | 22 |
| 9 | Robert | 21 |
अद्वितीय आयु मान चुनना
mysql> SELECT DISTINCT Age FROM selectUniqueValue;
परिणाम (3 अद्वितीय मान)
+------+ | Age | +------+ | 21 | | 22 | | 23 | +------+
उन्नत उपयोग
एकाधिक कॉलम पर DISTINCT
SELECT DISTINCT Name, Age FROM selectUniqueValue;
नाम और आयु के अद्वितीय संयोजन लौटाता है।
DISTINCT के साथ COUNT
SELECT COUNT(DISTINCT Age) FROM selectUniqueValue;
परिणाम: 3
DISTINCT के साथ ORDER BY
SELECT DISTINCT Age FROM selectUniqueValue ORDER BY Age DESC;
प्रदर्शन नोट्स
- DISTINCT आंतरिक रूप से अस्थायी टेबल या सॉर्ट का उपयोग करता है
- बड़े डेटासेट पर धीमा हो सकता है
- इंडेक्स प्रदर्शन में सुधार कर सकता है
GROUP BYअक्सर समान परिणाम देता है लेकिन एग्रीगेशन की अनुमति देता है
DISTINCT vs GROUP BY