समस्या:
आप किसी क्वेरी के परिणाम सेट से किसी भी डुप्लीकेट पंक्तियों को हटाना चाहते हैं ताकि प्रत्येक पंक्ति केवल एक बार दिखाई दे।
उदाहरण:
हमारे डेटाबेस में clothes
निम्नलिखित कॉलम में डेटा के साथ:id
, name
, color
, और year_produced
।
id | <थ>नाम <थ>रंगसाल_उत्पादित | ||
---|---|---|---|
1 | टी-शर्ट | पीला | 2015 |
2 | जैकेट | नीला | 2016 |
3 | जीन्स | काला | 2015 |
4 | जैकेट | नीला | 2015 |
5 | जैकेट | हरा | 2016 |
6 | जैकेट | पीला | 2017 |
7 | टोपी | पीला | 2017 |
आइए 2017 से पहले निर्मित कपड़ों के गैर-दोहराए गए नाम और रंग प्राप्त करें।
समाधान:
SELECT DISTINCT name, color FROM clothes WHERE year_produced < 2017;
ये रहा परिणाम:
नाम | <थ>रंग|
---|---|
टी-शर्ट | पीला |
जैकेट | नीला |
जीन्स | काला |
जैकेट | हरा |
ध्यान दें कि नीला
चर्चा:
बस DISTINCT
का उपयोग करें SELECT
. के बाद कीवर्ड यदि आप केवल गैर-दोहराई गई पंक्तियों का चयन करना चाहते हैं। यह कीवर्ड केवल आपके द्वारा सूचीबद्ध कॉलम के आधार पर क्वेरी को किसी भी डुप्लिकेट पंक्तियों को छोड़ने के लिए बाध्य करता है।
यहां केवल उन पंक्तियों को चुनने का एक उदाहरण दिया गया है जिनके लिए आइटम का नाम अद्वितीय है:
SELECT DISTINCT name FROM clothes WHERE year_produced < 2017;
पिछली क्वेरी के विपरीत, यह केवल तीन रिकॉर्ड लौटाता है:
नाम | |
---|---|
टी-शर्ट | |
जीन्स | |
जबकि मूल तालिका में चार जीन्स हैं (दो नीली, एक हरी और एक पीली), आइटम इस परिणाम सेट में केवल एक बार दिखाई देता है DISTINCT
के लिए धन्यवाद कीवर्ड।