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

MySQL में केस-इनसेंसिटिव DISTINCT कैसे प्राप्त करें?

UPPER() या LOWER() के साथ केस-इनसेंसिटिव DISTINCT

डिफ़ॉल्ट DISTINCT केस-सेंसिटिव होता है। केस-इनसेंसिटिव के लिए:

विधि 1: UPPER() का उपयोग

SELECT DISTINCT UPPER(yourColumnName) FROM yourTableName;

विधि 2: LOWER() का उपयोग

SELECT DISTINCT LOWER(yourColumnName) FROM yourTableName;

उदाहरण: टेबल बनाना और डेटा डालना

mysql> CREATE TABLE CaseInsensitiveDistinctDemo (
    -> Id INT NOT NULL AUTO_INCREMENT,
    -> UserEmailId VARCHAR(30),
    -> UserPassword VARCHAR(10),
    -> PRIMARY KEY(Id)
    -> );
mysql> INSERT INTO CaseInsensitiveDistinctDemo(UserEmailId, UserPassword) 
    -> VALUES('John@gmail.com', 'john123'),
    -> ('john@gmail.com', '654321'),
    -> ('Mike@gmail.com', '999999'),
    -> ('mike@gmail.com', '334556'),
    -> ('Carol@gmail.com', '1010101'),
    -> ('Larry@gmail.com', '12345678');

UPPER() के साथ DISTINCT

mysql> SELECT DISTINCT UPPER(UserEmailId) FROM CaseInsensitiveDistinctDemo;
+--------------------+
| upper(UserEmailId) |
+--------------------+
| JOHN@GMAIL.COM     |
| MIKE@GMAIL.COM     |
| CAROL@GMAIL.COM    |
| LARRY@GMAIL.COM    |
+--------------------+

LOWER() के साथ DISTINCT

mysql> SELECT DISTINCT LOWER(UserEmailId) FROM CaseInsensitiveDistinctDemo;
+--------------------+
| lower(UserEmailId) |
+--------------------+
| john@gmail.com     |
| mike@gmail.com     |
| carol@gmail.com    |
| larry@gmail.com    |
+--------------------+

दोनों तरीके 6 रिकॉर्ड्स से 4 यूनिक ईमेल लौटाते हैं (केस अंतर अनदेखा करके)।

  1. - ईमेल पते के आधार पर MySQL कॉलम अपडेट करें?

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> EmailAddress varchar(20), -> Score int -> ); Query OK, 0 rows affected (1.05 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(Chris@gmail.com,67); Query OK, 1 row affe

  1. - MySQL में COUNT और GROUP BY से विशिष्ट पैटर्न के विशिष्ट आइटम गिनें

    किसी कॉलम में विशिष्ट पैटर्न (जैसे John-%) से शुरू होने वाले मानों की प्रति-मान गणना करने के लिए LIKE फ़िल्टर के साथ COUNT() और GROUP BY का उपयोग करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1854 (Name VARCHAR(20)); डेटा डालें mysql> INSERT INTO DemoTable1854 VALUES(John-Smith); mysql> I

  1. - MySQL में GROUP BY DATE से विशिष्ट तारीख वाली पंक्तियां दिखाएं

    DATE() फ़ंक्शन से तारीख भाग के अनुसार समूहित करें डेटाइम कॉलम के केवल तारीख भाग के अनुसार पंक्तियों को समूहित करने के लिए GROUP BY DATE(कॉलम) का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1996 ( ShippingDate datetime, CustomerName varchar(20) ); Query OK, 0 rows affected (