Free tutorials & notes in Hindi & English · Clean code examples · Mobile friendly learning
MySQL + SQL · Lesson 46

MySQL में SELECT DISTINCT

DISTINCT क्या बदलता है

DISTINCT selected expressions evaluate होने के बाद displayed result की duplicate rows हटाता है। Table modify नहीं होती और order guarantee नहीं होता।

Common learning data: 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;
X-A X-B

एक 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;
Active Inactive

Multiple Columns पर DISTINCT

SELECT DISTINCT class_name, status
FROM students
ORDER BY class_name, status;
X-A | Active X-B | Active X-B | Inactive

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

GoalCorrect tool
हर class एक बारSELECT DISTINCT
हर class का student countGROUP BY + COUNT
Duplicate email/roll number रोकनाUNIQUE constraint
Stored duplicates खोजनाGROUP BY value HAVING COUNT(*) > 1
Faulty JOIN छिपाने के लिए DISTINCT न जोड़ें। Rows multiply होने का relationship/condition reason diagnose करें।

गलतियाँ और अभ्यास

  • DISTINCT से sorting expect करना।
  • Unique ID select करके collapse expect करना।
  • Bad joins छिपाना।
  • Result uniqueness को constraint मानना।
  1. हर status एक बार list करें।
  2. Unique class/status combinations predict करें।
  3. Distinct classes count करें।
  4. 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 किए गए।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

SELECT DISTINCT क्या करता है?
यह complete selected expression list के आधार पर query result की duplicate rows हटाता है। Table से data delete नहीं करता।
Multiple columns पर DISTINCT कैसे काम करता है?
Row तभी duplicate है जब selected values का पूरा combination दूसरी result row से match करे।
क्या DISTINCT NULL शामिल करता है?
SELECT DISTINCT duplicate NULL values के बीच एक NULL representative लौटा सकता है। COUNT(DISTINCT column) NULL count नहीं करता।
क्या DISTINCT और GROUP BY समान हैं?
Unique list में output समान हो सकता है, पर DISTINCT duplicate elimination और GROUP BY aggregation groups दर्शाता है। Real intent वाला form चुनें।
क्या DISTINCT duplicate data ठीक कर देता है?
नहीं। यह केवल result duplicates छिपाता है। Stored duplicates को PRIMARY KEY/UNIQUE से रोकें और existing data intentionally clean करें।
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.