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

MySQLで一意の姓を持つすべてのユーザーを検索しますか?


一意の姓を持つすべてのユーザーを検索するには、GROUP BY HAVING COUNT()を使用します。

テーブルを作成しましょう-

mysql> create table demo76
   -> (
   -> firstName varchar(20),
   -> lastName varchar(20)
   -> );
Query OK, 0 rows affected (9.29

挿入コマンド-

を使用して、いくつかのレコードをテーブルに挿入します。

mysql> insert into demo76 values('John','Doe');
Query OK, 1 row affected (2.52

mysql> insert into demo76 values('David','Smith');
Query OK, 1 row affected (6.31

mysql> insert into demo76 values('Adam','Smith');
Query OK, 1 row affected (1.52

selectステートメントを使用してテーブルのレコードを表示する-

mysql> select *from demo76;

これにより、次の出力が生成されます-

出力

+-----------+----------+

| firstName | lastName |

+-----------+----------+

| John      | Doe      |

| David     | Smith    |

| Adam      | Smith    |

+-----------+----------+

3 rows in set (0.00 sec)

以下は、一意の名前を持つすべてのユーザーを検索するためのクエリです-

mysql> select max(tbl.firstName), tbl.lastName,
   -> count(distinct tbl.firstName) as CountOfFirstName
   -> from demo76 as tbl
   -> group by tbl.lastName
   -> having count(distinct tbl.firstName) = 1;

これにより、次の出力が生成されます-

出力

+--------------------+----------+------------------+

| max(tbl.firstName) | lastName | CountOfFirstName |

+--------------------+----------+------------------+

| John               | Doe      |                1 |

+--------------------+----------+------------------+

1 row in set (0.00 sec)

  1. MySQLで特定の列名を持つテーブルを見つける方法は?

    列名を見つけるには、information_schema.columnsを使用します。以下は構文です- select distinct table_name from information_schema.columns where column_name like '%yourSearchValue%' and table_schema=database(); さまざまなテーブルで列名を見つけるために、上記の構文を実装しましょう。ここでは、特定の列名が「クライアント」という単語を持つテーブル名のみが必要です- mysql> select distinct table_

  2. MySQLを使用してSELECTにワイルドカードを追加しますか?

    追加には、concat()の概念を使用します。構文は次のとおりです- select *from yourTableName where yourColumnName like concat('%',yourValue,'%'); テーブルを作成しましょう- mysql> create table demo48 -> ( −> id int not null auto_increment primary key, −> name varchar(20) −> ); Query OK, 0 rows