MySQL の COUNT IF メソッド
    
    Preet Sanghavi
    2023年1月3日
    
    MySQL
    MySQL Query
    
 
このチュートリアルでは、MySQL で COUNT IF メソッドを使用する方法を探ることを目的としています。
MySQL の COUNT() メソッドは、テーブル内の行の総数を出力として提供します。ただし、この記事では、データから特定の IF 条件に基づいて情報をカウントする方法を理解することに関心があります。
IF コマンドは、値が IF クエリフラグメントに記載されている式または条件を満たしている場合にのみ、null 以外の個別の値の総数を示します。
この方法がどのように機能するかを理解しましょう。
開始する前に、作業するダミーデータセットを作成します。
-- 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");
MySQL で Count IF を使用する
COUNT IF 手法の基本的な構文は、次のように説明できます。
SELECT  COUNT(IF(<condition>, <expr>, NULL)) AS alias FROM name_of_the_table;
上記のクエリに見られるように、ここでは、IF 句で condition として定義された条件に基づいて、特定のテーブルから expr として示される個別または非個別の値をカウントすることを目的としています。
学生の詳細表で、stu_firstName が reet で終わる個別の stu_id の総数を数えましょう。このタスクは、次のクエリを使用して実行できます。
SELECT DISTINCT
    COUNT(DISTINCT IF(stu_firstName like '%reet',
            stu_id,
            NULL)) AS count_student_ids
FROM student_details;
このコードは、stu_firstName が IF 句の reet で終わるという条件の下で、student_details テーブルからの stu_id の個別の数をカウントします。
出力:
count_student_ids
1
注
    上記のコードスニペットでは、MySQL の 
    AS キーワードでエイリアス count_student_ids を使用しています。COUNT IF 手法の代わりに、同様の結果を達成するのに役立つ SUM CASE 手法があります。
したがって、COUNT IF 手法を使用すると、MySQL のテーブルから特定の条件に基づいてエンティティの発生の総数を効率的にカウントできます。
        チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
    
著者: Preet Sanghavi
    
