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

MySQLで同じ値を持つ行の数を数えますか?


関数COUNT(*)とGROUP BYを使用して、同じ値を持つ行の数をカウントします。構文は次のとおりです-

SELECT yourColumName1, count(*) as anyVariableName from yourTableName GROUP BY yourColumName1;

上記の構文を理解するために、最初にテーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table RowWithSameValue
   −> (
   −> StudentId int,
   −> StudentName varchar(100),
   −> StudentMarks int
   −> );
Query OK, 0 rows affected (0.55 sec)

同じ値のレコードをいくつか挿入します。ここでは、例として複数の生徒に同じマークを追加しました。レコードを挿入するためのクエリは次のとおりです-

mysql> insert into RowWithSameValue values(100,'Carol',89);
Query OK, 1 row affected (0.21 sec)

mysql> insert into RowWithSameValue values(101,'Sam',89);
Query OK, 1 row affected (0.15 sec)

mysql> insert into RowWithSameValue values(102,'John',99);
Query OK, 1 row affected (0.12 sec)

mysql> insert into RowWithSameValue values(103,'Johnson',89);
Query OK, 1 row affected (0.15 sec)

これで、上に挿入したすべてのレコードを表示できます。すべてのレコードを表示するためのクエリは次のとおりです-

mysql> select *from RowWithSameValue;

以下は出力です-

+-----------+-------------+--------------+
| StudentId | StudentName | StudentMarks |
+-----------+-------------+--------------+
|       100 | Carol       |           89 |
|       101 | Sam         |           89 |
|       102 | John        |           99 |
|       103 | Johnson     |           89 |
+-----------+-------------+--------------+
4 rows in set (0.00 sec)

最初に説明した構文を実装して、同じ値を持つ行をカウントします-

mysql> SELECT StudentMarks, count(*) as SameValue from RowWithSameValue GROUP BY StudentMarks;

以下は、複数の値のカウントを表示する出力です-

+--------------+-----------+
| StudentMarks | SameValue |
+--------------+-----------+
|           89 |         3 |
|           99 |         1 |
+--------------+-----------+
2 rows in set (0.00 sec)

  1. MySQL列の各行の同じ値を数えますか?

    各行の同じ値をカウントするには、GROUP BY句とともにCOUNT(*)を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1818      (      Id int,      Name varchar(20)      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into

  2. MySQLで特定の値を持つ列の数を数える方法は?

    以下は構文です- select sum(yourColumnName1+yourColumnName2+yourColumnName3...N) as `anyAliasName1`, sum(yourColumnName1 and yourColumnName2 and yourColumnName3….N) as anyAliasName from yourTableName; テーブルを作成しましょう- mysql> create table demo36 −> ( −> id int not null auto_incremen