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

MySQLクエリでDISTINCTとCOUNTを一緒に使用しますか?


1つのMySQLクエリでDISTINCTとCOUNTを一緒に使用できます。まず、テーブルを作成しましょう。 CREATEコマンドを使用してテーブルを作成します。

mysql> create table DistCountDemo
   - > (
   - > id int,
   - > name varchar(100),
   - > age int
   - > );
Query OK, 0 rows affected (0.48 sec)

レコードはINSERTコマンドを使用して挿入されます。

mysql> insert into DistCountDemo values(1,'John',23);
Query OK, 1 row affected (0.11 sec)

mysql> insert into DistCountDemo values(2,'Bob',24);
Query OK, 1 row affected (0.14 sec)

mysql> insert into DistCountDemo values(3,'John',23);
Query OK, 1 row affected (0.16 sec)

mysql> insert into DistCountDemo values(4,'Carol',23);
Query OK, 1 row affected (0.20 sec)

SELECTステートメントを使用してすべてのレコードを表示します。

mysql> select *from DistCountDemo;

以下は出力です。

+------+-------+------+
| id   | name  | age  |
+------+-------+------+
|    1 | John  |   23 |
|    2 | Bob   |   24 |
|    3 | John  |   23 |
|    4 | Carol |   23 |
+------+-------+------+
4 rows in set (0.00 sec)

COUNTとDISTINCTを適用して、23歳の生徒の数を調べます。

mysql> SELECT COUNT(DISTINCT name) from  DistCountDemo WHERE age=23;

以下は出力です。

+----------------------+
| COUNT(DISTINCT name) |
+----------------------+
|                    2 |
+----------------------+
1 row in set (0.05 sec)

  1. 単一のMySQLクエリでGROUPBYとCOUNTを使用して、重複するレコードをグループ化し、対応する最大値を表示します

    最初にテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> ClientId int,    -> Value int    -> ); Query OK, 0 rows affected (0.79 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(10,678); Query OK, 1 row affected

  2. 重複するタプルを見つけてカウントを表示するMySQLクエリ?

    重複するタプルを見つけるには、GROUPBYHAVING句を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Id int,    -> Name varchar(20)    -> ); Query OK, 0 rows affected (0.80 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable value