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

列内の個別のレコードの数を取得するためのMySQLクエリ


個別のレコードの数を取得するには、COUNT()とともにDISTINCTを使用します。以下は構文です-

select count(DISTINCT yourColumnName) from yourTableName;

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

mysql> create table DemoTable
-> (
-> Name varchar(20),
-> Score int
-> );
Query OK, 0 rows affected (0.67 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('John',56);
Query OK, 1 row affected (0.18 sec)

mysql> insert into DemoTable values('Sam',89);
Query OK, 1 row affected (0.20 sec)

mysql> insert into DemoTable values('John',56);
Query OK, 1 row affected (0.17 sec)

mysql> insert into DemoTable values('Carol',60);
Query OK, 1 row affected (0.20 sec)

mysql> insert into DemoTable values('Sam',89);
Query OK, 1 row affected (0.14 sec)

mysql> insert into DemoTable values('Carol',60);
Query OK, 1 row affected (0.20 sec)
>

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

mysql> select *from DemoTable

出力

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

+-------+-------+
| Name  | Score |
+-------+-------+
| John  | 56    |
| Sam   | 89    |
| John  | 56    |
| Carol | 60    |
| Sam   | 89    |
| Carol | 60    |
+-------+-------+
6 rows in set (0.00 sec)

これは、列内の個別のレコードの数を取得するためのクエリです-

mysql> select count(DISTINCT Score) from DemoTable;

出力

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

+-----------------------+
| count(DISTINCT Score) |
+-----------------------+
| 3                     |
+-----------------------+
1 row in set (0.00 sec)

  1. 1つのMySQLクエリで特定のレコード(重複)の発生をカウントします

    このためには、集計関数COUNT()とGROUP BYを使用して、これらの特定のレコードをオカレンス用にグループ化します。まずテーブルを作成しましょう- mysql> create table DemoTable (    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    StudentSubject varchar(40) ); Query OK, 0 rows affected (5.03 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql>

  2. 個別の値の出現をカウントし、その結果を新しい列に表示するMySQLクエリ?

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