MySQL में SELECT DISTINCT
DISTINCT क्या बदलता है
DISTINCT selected expressions evaluate होने के बाद displayed result की duplicate rows हटाता है। Table modify नहीं होती और order guarantee नहीं होता।
students में Aarav (X-A, 86.50, Active), Meera (X-A, 91.00, Active), Kabir (X-B, 74.00, Inactive) और Sana (X-B, 88.50, Active) हैं।SELECT DISTINCT class_name
FROM students
ORDER BY class_name;एक Column की Unique Values
DISTINCT बिना class हर student के लिए आती है। DISTINCT identical class_name results collapse करता है। Comparison column collation follow करता है, इसलिए case-insensitive collation में case/accent variants equal हो सकते हैं।
SELECT DISTINCT status
FROM students
ORDER BY status;Multiple Columns पर DISTINCT
SELECT DISTINCT class_name, status
FROM students
ORDER BY class_name, status;DISTINCT pair पर लागू होता है, हर column पर separately नहीं। Unique student_id जोड़ने पर हर row unique हो जाती और DISTINCT unnecessary हो जाता है।
NULL और COUNT(DISTINCT)
SELECT DISTINCT marks FROM students;
SELECT COUNT(DISTINCT class_name) AS class_count
FROM students;SELECT DISTINCT repeated NULL results में एक NULL दिखा सकता है। COUNT(DISTINCT expression) distinct non-NULL values गिनता है। Multiple expressions के NULL/tuple behavior के लिए current MySQL manual और exact intention verify करें।
Displayed बनाम Stored Duplicates
| Goal | Correct tool |
|---|---|
| हर class एक बार | SELECT DISTINCT |
| हर class का student count | GROUP BY + COUNT |
| Duplicate email/roll number रोकना | UNIQUE constraint |
| Stored duplicates खोजना | GROUP BY value HAVING COUNT(*) > 1 |
गलतियाँ और अभ्यास
- DISTINCT से sorting expect करना।
- Unique ID select करके collapse expect करना।
- Bad joins छिपाना।
- Result uniqueness को constraint मानना।
- हर status एक बार list करें।
- Unique class/status combinations predict करें।
- Distinct classes count करें।
- School roll number के लिए UNIQUE design करें।
त्वरित सारांश
- DISTINCT केवल duplicate selected rows हटाता है।
- Multiple columns एक combination बनाते हैं।
- Predictable order के लिए ORDER BY चाहिए।
- Invalid stored duplicates constraints रोकते हैं।
Official संदर्भ
References 14 August 2026 को review किए गए।