MySQL で個別の値をカウントする

Preet Sanghavi 2023年1月3日
MySQL で個別の値をカウントする

このチュートリアルでは、個別の値をカウントするためのさまざまな方法を紹介します。

MySQL の COUNT() メソッドは、テーブル内の行の総数を出力として提供します。ただし、この記事では、式の個別の出現回数を計算またはカウントする方法を理解することに関心があります。この操作を実行するための構文は、COUNT(DISTINCT expression) と書くことができます。このコマンドは、特定の式の出力として、null 以外の個別の値の総数を示します。

このメソッドの動作を見てみましょう。

ただし、開始する前に、操作するダミーデータセットを作成します。ここでは、テーブル student_details とその中のいくつかの行を作成します。

-- create the table student_details
CREATE TABLE student_details(
  stu_id int,
  stu_firstName varchar(255) DEFAULT NULL,
  stu_lastName varchar(255) DEFAULT NULL,
  primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName) 
 VALUES(1,"Preet","Sanghavi"),
 (2,"Rich","John"),
 (3,"Veron","Brow"),
 (4,"Geo","Jos"),
 (5,"Hash","Shah"),
 (6,"Sachin","Parker"),
 (7,"David","Miller");

上記のクエリは、学生の名前と名前を含む行とともにテーブルを作成します。データのエントリを表示するために、次のコードを使用します。

SELECT * FROM student_details;

上記のコードは次の出力を提供します。

stu_id	stu_firstName	stu_lastName
1	      Preet	        Sanghavi
2	      Rich	        John
3	      Veron	        Brow
4	      Geo	        Jos
5	      Hash	        Shah
6	      Sachin	    Parker
7	      David	        Miller

MySQL で個別の値をカウントする

MySQL の COUNT (DISTINCT expression) 関数は、前述のように、一意の非 null 値を持つ行の数を提供します。一意の名を持つ学生の数を数えるために、次のコードを使用します。

-- Count the number of students with different first names
SELECT COUNT(DISTINCT stu_firstName) as distinct_first_names FROM student_details ;

上記のコードは、student_details テーブルからの個別の名の数をカウントします。上記のコードの出力は次のとおりです。

distinct_first_names
7

したがって、一意の名前(Preet、Rich、Veron、Geo、Hash、Sachin、および David)がカウントされ、最終的なカウントが 7 になっていることがわかります。

上記のコードでは、MySQL の AS キーワードとしてエイリアス distinct_first_names を使用しています。
著者: Preet Sanghavi
Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub