MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLの大文字と小文字を区別しないDISTINCT?


大文字と小文字を区別しない区別が必要な場合は、UPPER()またはLOWER()を使用する必要があります。

ケース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)
   -> );
Query OK, 0 rows affected (0.64 sec)

これで、insertコマンドを使用してテーブルにいくつかのレコードを挿入できます。クエリは次のとおりです。

mysql> insert into CaseInsensitiveDistinctDemo(UserEmailId,UserPassword) values('John@gmail.com','john123');
Query OK, 1 row affected (0.15 sec)
mysql> insert into CaseInsensitiveDistinctDemo(UserEmailId,UserPassword) values('john@gmail.com','654321');
Query OK, 1 row affected (0.43 sec)
mysql> insert into CaseInsensitiveDistinctDemo(UserEmailId,UserPassword) values('Mike@gmail.com','999999');
Query OK, 1 row affected (0.14 sec)
mysql> insert into CaseInsensitiveDistinctDemo(UserEmailId,UserPassword) values('mike@gmail.com','334556');
Query OK, 1 row affected (0.16 sec)
mysql> insert into CaseInsensitiveDistinctDemo(UserEmailId,UserPassword) values('Carol@gmail.com','1010101');
Query OK, 1 row affected (0.13 sec)
mysql> insert into CaseInsensitiveDistinctDemo(UserEmailId,UserPassword) values('Larry@gmail.com','12345678');
Query OK, 1 row affected (0.20 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです。

mysql> select *from CaseInsensitiveDistinctDemo;

出力は次のとおりです。

+----+-----------------+--------------+
| Id | UserEmailId     | UserPassword |
+----+-----------------+--------------+
|  1 | John@gmail.com  | john123      |
|  2 | john@gmail.com  | 654321       |
|  3 | Mike@gmail.com  | 999999       |
|  4 | mike@gmail.com  | 334556       |
|  5 | Carol@gmail.com | 1010101      |
|  6 | Larry@gmail.com | 12345678     |
+----+-----------------+--------------+
6 rows in set (0.00 sec)

大文字と小文字を区別しない個別を選択するためのクエリは次のとおりです。

ケース1: UPPER()を使用します。クエリは次のとおりです。

mysql> select distinct upper(UserEmailId) from CaseInsensitiveDistinctDemo;

出力は次のとおりです。

+--------------------+
| upper(UserEmailId) |
+--------------------+
| JOHN@GMAIL.COM     |
| MIKE@GMAIL.COM     |
| CAROL@GMAIL.COM    |
| LARRY@GMAIL.COM    |
+--------------------+
4 rows in set (0.06 sec)

ケース2: LOWER()を使用します。クエリは次のとおりです。

mysql> select distinct lower(UserEmailId) from CaseInsensitiveDistinctDemo;

出力は次のとおりです。

+--------------------+
| lower(UserEmailId) |
+--------------------+
| john@gmail.com     |
| mike@gmail.com     |
| carol@gmail.com    |
| larry@gmail.com    |
+--------------------+
4 rows in set (0.00 sec)

  1. MySQLのリストにある特定のアイテムの個別の数

    特定のアイテムの明確な数を見つけるには、GROUP BY句とともにCOUNT()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1854      (      Name varchar(20)      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1854 values(

  2. MySQLで個別の列名を表示する

    テーブルを作成しましょう- mysql> create table DemoTable1996 (    ShippingDate datetime,    CustomerName varchar(20) ); Query OK, 0 rows affected (0.84 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1996 values('2019-12-21 10:45:00','Chris'); Query O