MySQL count() 関数は、式のカウントを返すために使用されます。これにより、指定した条件に一致するテーブルのすべての行または一部の行のみをカウントすることができます。戻り値の型が BIGINT である集約関数の一種です。この関数は、一致する行が見つからない場合は 0 を返します。
count 関数は、以下に説明する 3 つの形式で使用できます。
- カウント (*)
- カウント (式)
- カウント (個別)
それぞれについて詳しく説明しましょう。
COUNT(*) 関数: この関数は、SELECT ステートメントを使用して、結果セット内の行数を返します。結果セットには、Null 以外の行、Null 行、および重複行がすべて含まれます。
COUNT(式) 関数: この関数は、式の結果として Null 行を含まない結果セットを返します。
Javaの文字列フォーマット
COUNT(個別式) 関数: この関数は、式の結果として NULL 値を含まない個別の行の数を返します。
構文
COUNT() 関数の構文は次のとおりです。
SELECT COUNT (aggregate_expression) FROM table_name [WHERE conditions];
パラメータの説明
集計式: 非 NULL 値がカウントされる列または式を指定します。
テーブル名: レコードを取得するテーブルを指定します。 FROM 句には少なくとも 1 つのテーブルがリストされている必要があります。
WHERE 条件: オプションです。レコードが選択されるために満たさなければならない条件を指定します。
アップキャスト
MySQL count() 関数の例
次のデータを含む「employees」という名前のテーブルについて考えてみましょう。
count() 関数がどのように動作するかを理解しましょう MySQL 。
Javaで文字列を整数に変換する方法
例1
COUNT(expression) 関数を使用して、テーブル内で使用可能な従業員名の合計数を計算する次のクエリを実行します。
mysql> SELECT COUNT(emp_name) FROM employees;
出力:
例2
次のステートメントを実行して、employee テーブルからすべての行を返し、WHERE 句で列 emp_age の値が 32 より大きい行を指定します。
mysql> SELECT COUNT(*) FROM employees WHERE emp_age>32;
出力:
マークダウン取り消し線
例3
このステートメントは、列 emp_age 内の非 Null 行と個別の行をカウントする COUNT(distinctexpression) 関数を使用します。
mysql> SELECT COUNT(DISTINCT emp_age) FROM employees;
出力:
GROUP BY 句を使用した MySQL Count() 関数
GROUP BY 句を指定して count() 関数を使用すると、各グループ内の要素の数を返すこともできます。たとえば、次のステートメントは各都市の従業員数を返します。
mysql> SELECT emp_name, city, COUNT(*) FROM employees GROUP BY city;
実行が成功すると、次のような結果が得られます。
HAVING 句と ORDER BY 句を使用した MySQL Count() 関数
count() 関数で ORDER BY および Have 句を使用する別の句を見てみましょう。次のステートメントを実行して、少なくとも 2 人の年齢が同じ従業員名を指定し、カウント結果に基づいてそれらを並べ替えます。
複数行のコメントPowerShell
mysql> SELECT emp_name, emp_age, COUNT(*) FROM employees GROUP BY emp_age HAVING COUNT(*)>=2 ORDER BY COUNT(*);
このステートメントにより、次のような出力が得られます。