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

MySQL में DISTINCT का उपयोग करके अद्वितीय मान चुनना

समाधान: 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 पंक्तियाँ)

IdNameAge
1John21
2Carol21
3Sam22
4Mike22
5David22
6Larry23
7Bob23
8Maxwell22
9Robert21

अद्वितीय आयु मान चुनना

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


            
  1. - MySQL SELECT क्वेरी में ALIAS (उपनाम) कैसे उपयोग करें

    AS कीवर्ड के साथ कॉलम और टेबल का उपनाम देना MySQL में कॉलम या टेबल को अस्थायी नाम (उपनाम) देने के लिए AS कीवर्ड का उपयोग करें। यह वैकल्पिक है लेकिन पठनीयता बढ़ाता है। टेबल और डेटा CREATE TABLE DemoTable ( Name VARCHAR(100) ); Query OK, 0 rows affected (0.51 sec) INSERT INTO DemoTable VALUES(

  1. - MySQL में SELECT 1 का उपयोग करके मान मौजूद है या नहीं कैसे चेक करें

    EXISTS पैटर्न के रूप में SELECT 1 का उपयोग मान मौजूद है या नहीं जांचने के लिए SELECT 1 पैटर्न का उपयोग करें। यह पूर्ण पंक्ति लौटाने से अधिक कुशल है। सिंटैक्स: SELECT 1 FROM yourTableName WHERE yourColumnName = yourValue; यदि उपरोक्त 1 लौटाता है, तो मान डेटाबेस में मौजूद है। आइए पहले एक टेबल बनाते है

  1. - MySQL में महीने के अनुसार रिकॉर्ड कैसे चुनें (SELECT by Month)?

    MySQL में MONTH() फ़ंक्शन का उपयोग करके दिनांक कॉलम से महीना निकालकर रिकॉर्ड फ़िल्टर किए जा सकते हैं। यह मासिक रिपोर्ट और विश्लेषण के लिए आवश्यक है। सिंटैक्स SELECT * FROM table_name WHERE MONTH(date_column) = month_number; उदाहरण तालिका बनाएं और डेटा डालें: mysql> CREATE TABLE DemoTable (Ship