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

単一の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 (0.15 sec)
mysql> insert into DemoTable values(20,678);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values(30,678);
Query OK, 1 row affected (0.09 sec)

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

mysql> select *from DemoTable;

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

+----------+-------+
| ClientId | Value |
+----------+-------+
|       10 |   678 |
|       20 |   678 |
|       30 |   678 |
+----------+-------+
3 rows in set (0.00 sec)

COUNTが使用されている場合、GROUPへのクエリは機能しません-

mysql> select count(tbl.ClientId),max(tbl.ClientId) from DemoTable tbl
   -> group by Value;

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

+---------------------+-------------------+
| count(tbl.ClientId) | max(tbl.ClientId) |
+---------------------+-------------------+
|                   3 |                30 |
+---------------------+-------------------+
1 row in set (0.00 sec)

  1. 結果を日付でグループ化し、重複する値の数を表示するMySQLクエリ?

    まずテーブルを作成しましょう- mysql> create table DemoTable1496    -> (    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> PassengerCode varchar(20),    -> ArrivalDate datetime    -> ); Query OK, 0 rows affected (0.85 sec) 挿入コマンド-を使用して、テーブル

  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