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

MySQL में डुप्लीकेट मानों को छोड़कर केवल एक अद्वितीय मान चुनना

समाधान: GROUP BY के साथ MIN() या MAX()

डुप्लीकेट मानों को छोड़कर प्रत्येक समूह से केवल एक पंक्ति प्राप्त करने के लिए GROUP BY के साथ एग्रीगेट फ़ंक्शन का उपयोग करें।

सिंटैक्स

SELECT MIN(yourColumnName1), yourColumnName2 
FROM yourTableName 
GROUP BY yourColumnName2;

व्यावहारिक उदाहरण

टेबल बनाना और डुप्लीकेट डेटा डालना

mysql> CREATE TABLE doNotSelectDuplicateValuesDemo (
    -> User_Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> User_Name VARCHAR(20)
    -> );

mysql> INSERT INTO doNotSelectDuplicateValuesDemo(User_Name) VALUES
    -> ('John'), ('Carol'), ('Carol'), ('Carol'), ('Sam'),
    -> ('Mike'), ('Bob'), ('David'), ('Maxwell'), ('Bob'), ('Ramit');

मूल डेटा (11 पंक्तियाँ, डुप्लीकेट के साथ)

Carol: 3 बार, Bob: 2 बार, अन्य: 1-1 बार

डुप्लीकेट हटाने की क्वेरी

mysql> SELECT MIN(User_Id), User_Name 
    -> FROM doNotSelectDuplicateValuesDemo 
    -> GROUP BY User_Name;

परिणाम (8 अद्वितीय पंक्तियाँ)

min(User_Id)User_Name
1John
2Carol
5Sam
6Mike
7Bob
8David
9Maxwell
11Ramit

वैकल्पिक दृष्टिकोण

  • SELECT DISTINCT User_Name - केवल अद्वितीय नाम (ID के बिना)
  • ROW_NUMBER() विंडो फ़ंक्शन (MySQL 8.0+) - अधिक नियंत्रण के लिए
  • ANY_VALUE() - किसी भी मान को चुनने के लिए
  1. - MySQL में एक टेबल से डेटा चुनना जहाँ कॉलम मान दूसरी टेबल से मेल खाएँ

    EXISTS सबक्वेरी से क्रॉस-टेबल मिलान EXISTS सबक्वेरी का उपयोग करके एक टेबल की पंक्तियाँ चुनें जहाँ कॉलम मान दूसरी टेबल के कॉलम मान से मेल खाता हो। पहली टेबल (विषय) (111, MySQL), (112, MongoDB), (113, Java), (114, C), (115, MySQL); दूसरी टेबल (छात्र) (Chris, MySQL), (Bob, MySQL), (Sam, MySQL), (C

  1. - MySQL में ENUM कॉलम से केवल 'NO' मानों की गणना करें

    MySQL में ENUM कॉलम पर सशर्त गणना के लिए बूलियन अभिव्यक्ति का योग (SUM(condition)) उपयोग कर सकते हैं। MySQL में TRUE = 1 और FALSE = 0 होता है। टेबल बनाएं mysql> CREATE TABLE DemoTable1829 ( Name VARCHAR(20), isTopper ENUM(YES,NO) ); डेटा डालें mysql> INSERT INTO DemoTable1829 VALUES(

  1. - MySQL में SUBSTRING_INDEX का उपयोग करके हाइफ़न से अलग स्ट्रिंग को कई कॉलम्स में विभाजित करें

    MySQL में SUBSTRING_INDEX का उपयोग करके विभाजक द्वारा स्ट्रिंग पार्सिंग MySQL का SUBSTRING_INDEX() फ़ंक्शन एक स्ट्रिंग को विभाजक द्वारा विभाजित करने और विशिष्ट भाग निकालने के लिए अत्यंत उपयोगी है। यह CSV-शैली डेटा या संयुक्त फ़ील्ड्स को पार्स करने के लिए आदर्श है। टेबल बनाना ); Query OK, 0 rows af