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

MySQLで同じ行の個別のレコードからのカウントを表示するにはどうすればよいですか?


このために、GROUP BY句とともにGROUP_CONCAT()、COUNT()を使用できます。まずテーブルを作成しましょう-

mysql> create table DemoTable
   -> (
   -> CompanyId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> CompanyName varchar(20)
   -> );
Query OK, 0 rows affected (0.62 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable(CompanyName) values('Amazon');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(CompanyName) values('Google');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable(CompanyName) values('Google');
Query OK, 1 row affected (0.07 sec)
mysql> insert into DemoTable(CompanyName) values('Microsoft');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable(CompanyName) values('Amazon');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(CompanyName) values('Amazon');
Query OK, 1 row affected (0.07 sec)

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

mysql> select *from DemoTable;

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

+-----------+-------------+
| CompanyId | CompanyName |
+-----------+-------------+
|         1 |Amazon       |
|         2 |Google       |
|         3 |Google       |
|         4 |Microsoft    |
|         5 |Amazon       |
|         6 |Amazon       |
+-----------+-------------+
6 rows in set (0.00 sec)

これは、MySQLと同じ行の個別のレコードからのカウントを表示するためのクエリです-

mysql> select CompanyName,group_concat(CompanyId),count(CompanyId) as count from DemoTable
   -> group by CompanyName
   -> having count > 1;

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

+-------------+-------------------------+-------+
| CompanyName | group_concat(CompanyId) | count |
+-------------+-------------------------+-------+
| Amazon      | 1,5,6                   |     3 |
| Google      | 2,3                     |     2 |
+-------------+-------------------------+-------+
2 rows in set (0.00 sec)

  1. MySQLのAmount列から同じ価格の2つの異なる合計を表示するにはどうすればよいですか?

    このために、caseステートメントを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1794      (      Amount int      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1794 values(100); Query OK, 1 row affected

  2. MySQLで日付レコードを持つテーブルの日付を変更するにはどうすればよいですか?

    日付を変更して年を追加する必要があるとします。このためには、DATE_ADD()とともにUPDATEコマンドを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1984    (    ShippingDate date    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1984 values('2014