【初心者向け】MySQLのCOUNT関数の使い方まとめ|サンプルあり
  • facebookページ
  • twitterページ
  • 2020.01.30

    【初心者向け】MySQLのCOUNT関数の使い方まとめ|サンプルあり

    MySQLのCOUNTとは?

    MySQLで使われるCOUNT関数とは、引指定したフィールド(カラム)の行数を取得(カウント)する機能です。

    MySQLの操作でも頻繁に使用されるため、覚えておくのは必須と言えるでしょう。

    この記事では、そんなCOUNT関数の使い方について解説します。

    COUNT関数のさまざまな使い方

    ここではCOUNT関数について、次の5通りの記述方法・使い方を紹介します。

    1. COUNT関数の基本的な使い方
    2. DISTINCTで重複するデータを除外してCOUNTする
    3. COUNT関数でWHERE句を使う方法
    4. GROUP BYでグループ化したデータをCOUNTする
    5. COUNT関数でif文を使う方法

    ひとつずつ解説していきますね。

    1.COUNT関数の基本的な使い方

    COUNT関数を使うには、次のように記述します。

    COUNT関数の引数に取得したいデータを記述すればOKです。

    では、具体的な使い方をテーブルを作成してみていきましょう。

    まずは「name」「type」「value」の3つのフィールドがあるテーブル「counttb」を作成します。

    テーブルを作成したらレコードを挿入します。

    ここでは、次のようなレコードを挿入しました。

    作成したデータをCOUNT関数で取得してみましょう。

    挿入したデータ8個が取得できているのがわかります。

    ポテパンダの一言メモ

    「COUNT」と「(*)」 の間にスペースを空けると、エラーが発生してしまうので注意しましょう。

    COUNT関数は、次のようにフィールドごとに取得することも可能です。

    NULLはCOUNTされないため、取得されているのは7個になっているのがわかります。

    2.DISTINCTで重複するデータを除外してCOUNTする

    DISTINCTとは、重複するデータを除外してまとめた結果を出力できる構文です。

    DISTINCTはCOUNT関数で次のように記述します。

    では、先ほど作成したテーブルをDISTINCTを使ってCOUNTしてみましょう。

    このように、typeで重複していたデータはひとつにまとめられ、3種類存在することが確認できました。

    valueも「77」が重複しているため「6」が出力されているのがわかります。

    一方、nameには重複がないためDISTINCTを使用していない場合と同じ値が出力されました。

    3.COUNT関数でWHERE句を使う方法

    COUNT関数でWHERE句を使うと、フィールドの指定した値だけをCOUNTして取得可能になります。

    WHERE句の基本的な使い方を知りたい方は、次の記事を参考にしてみるとよいでしょう。

    【関連記事】

    ▶︎SQL where句のサンプルコード集 ワイルドカードやサブクエリを使った複雑な条件指定

    ここでは、「Type2」をCOUNT関数とWHERE句で取得してみます。

    このように、特定のレコードをCOUNTしたい場合はWHERE句を使いましょう。

    4.GROUP BYでグループ化したデータをCOUNTする

    例えば、「Type1のデータはいくつあるんだろう」と思った時に、テーブルに格納されているレコードが少ないうちは目視で数えてもよいですが、数が増えてきたら目視で確認は難しいですよね。

    そんな時は、GROUP BY句でグループごとに分類してCOUNTします。

    COUNT関数を使うには、次のように記述します。

    GROUP BY句の後のフィールド名は何個指定してもOKです。

    ここでは、counttbテーブルのtypeフィールドをグループ化してCOUNTしてみましょう。

    なお、レコード数は一番はじめから少し増やしてあります。

    typeフィールドに含まれる値ごとにデータの数が取得できました。

    5.COUNT関数でif文を使う方法

    COUNT関数内でif文を使った条件分岐を行うことも可能です。

    サンプルでvalueが60以上のレコードの行数を取り出してみましょう。

    なお、if文を使わず次のような記述でも同じ動作を実現可能です。

    まとめ

    MySQLのCOUNT関数の使い方を解説しました。

    COUNT関数は複数で使うことも可能で、テーブル内のレコードを効率よく取得できる構文です。

    ぜひ使いこなして、MySQLをマスターしてください!



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE