ホームページ  >  記事  >  データベース  >  mysqlで統計を収集するにはどうすればよいですか?

mysqlで統計を収集するにはどうすればよいですか?

青灯夜游
青灯夜游オリジナル
2020-10-16 09:29:558360ブラウズ

mysql で統計データを取得する方法: 1. MAX() 関数を使用して特定のフィールドの最大データをカウントする; 2. MIN() 関数を使用して特定のフィールドの最小データをカウントする; 3 . COUNT() 関数を使用してクエリの結果の行数をカウントします。 4. SUM() 関数を使用してデータの合計をカウントします。 5. AVG() 関数を使用して平均をカウントします。

mysqlで統計を収集するにはどうすればよいですか?

#(推奨チュートリアル:

mysql ビデオ チュートリアル)

MySQL MAX() 関数

MySQL MAX() 関数は、指定されたカラムの最大値を返すために使用されます。

理解を容易にするために、まず生徒スコア テーブル tb_students_score を作成します。生徒スコア テーブルのデータ内容は次のとおりです。

mysql> use test_db;
Database changed
mysql> SELECT * FROM tb_students_score;
+--------------+---------------+
| student_name | student_score |
+--------------+---------------+
| Dany         |            90 |
| Green        |            99 |
| Henry        |            95 |
| Jane         |            98 |
| Jim          |            88 |
| John         |            94 |
| Lily         |           100 |
| Susan        |            96 |
| Thomas       |            93 |
| Tom          |            89 |
+--------------+---------------+
10 rows in set (0.13 sec)

【例1】 tb_students_scoreテーブルの最高スコアを求める 入力したSQL文と実行結果は以下のとおりです。

mysql> SELECT MAX(student_score)
    -> AS max_score
    -> FROM tb_students_score;
+-----------+
| max_score |
+-----------+
|       100 |
+-----------+
1 row in set (0.06 sec)

実行結果からわかるように、MAX() 関数は、student_score フィールドの最大値を 100 としてクエリします。

MAX() 関数は、数値型だけでなく文字型の検索にも適しています。

【例2】tb_students_scoreテーブルのstudent_nameの最大値を求める 入力したSQL文と実行結果は以下のとおりです。

mysql> SELECT MAX(student_name)
    -> AS max_name
    -> FROM tb_students_score;
+----------+
| max_name |
+----------+
| Tom      |
+----------+
1 row in set (0.03 sec)

実行結果からわかるように、MAX() 関数は文字のサイズを判断し、最大の文字または文字列値を返すことができます。

注: MAX() 関数は、文字タイプの最大値を返すなど、任意の列の最大値を返すこともできます。文字型データを比較する場合、文字の ASCII コード値に基づいて比較され、a から z までの中で、a の ASCII コードが最も小さく、z の値が最も大きくなります。比較する場合は、最初の文字を比較し、等しい場合は、2 つの文字が等しくなるか文字が終了するまで、次の文字の比較を続けます。たとえば、b と t を比較した場合は t が最大値となり、bcd と bca を比較した場合は bcd が最大値になります。

MySQL MIN() 関数

MySQL MIN() 関数は、クエリ列の最小値を返すために使用されます。

理解を容易にするために、前のセクションで MAX() 関数について説明したときに作成したデータ テーブル tb_students_score を使用する必要があります。

[例] tb_students_score テーブルの最低スコアを求める 入力した SQL 文と実行結果は以下のとおりです。

mysql> SELECT MIN(student_score)
    -> AS min_score
    -> FROM tb_students_score;
+-----------+
| min_score |
+-----------+
|        88 |
+-----------+
1 row in set (0.00 sec)

結果からわかるように、MIN() 関数は、student_score フィールドの最小値を 88 にクエリします。

ヒント: MIN() 関数は MAX() 関数に似ており、数値型だけでなく文字型の検索にも適しています。

MySQL COUNT() 関数

MySQL COUNT() 関数は、データ テーブルに含まれるレコード行の総数をカウントするか、クエリに基づいてカラムに含まれるデータ行の数を返します。使用方法は以下の 2 種類:

COUNT(*) 列に値があるか null 値があるかに関係なく、テーブル内の総行数を計算します。

COUNT (フィールド名) は、指定された列の下の行の総数を計算します。NULL 値を含む行は計算中に無視されます。

ここでは、MAX() 関数の導入時に作成された次のテーブル tb_students_score を使用する必要があります。

【例】 tb_students_score テーブルの総行数を問い合わせる 入力した SQL 文と実行結果は以下のとおりです。

mysql> SELECT COUNT(*)
    -> AS students_number
    -> FROM tb_students_score;
+-----------------+
| students_number |
+-----------------+
|              10 |
+-----------------+
1 row in set (0.03 sec)

クエリ結果からわかるように、COUNT(*) は値に関係なく、tb_students_score テーブルに記録された行の合計数を返します。返される合計数は、students_number という名前になります。

ヒント: 合計を計算するときの NULL 値の処理方法では、指定された列に NULL 値を持つ行は COUNT() 関数によって無視されますが、列が指定されておらず、スターCOUNT() 関数で使用されます。「*」とマークされている場合、すべてのレコードは無視されません。

MySQL SUM() 関数

MySQL SUM() は、指定されたカラム値の合計を返す合計関数です。

SUM() 関数はどのように機能するのでしょうか?

  • 一致する行を返さない SELECT ステートメントで SUM 関数を使用すると、SUM 関数は 0 ではなく NULL を返します。

  • DISTINCT 演算子を使用すると、コレクション内の個別の値を計算できます。

  • SUM 関数は計算で NULL 値を無視します。

ここでは、MAX() 関数の導入時に作成された次のテーブル tb_students_score を使用する必要があります。

[例] tb_students_score テーブルの生徒の成績の合計点を計算する 入力した SQL 文と実行結果は以下のとおりです。

mysql> SELECT SUM(student_score)
    -> AS score_sum
    -> FROM tb_students_score;
+-----------+
| score_sum |
+-----------+
|       942 |
+-----------+
1 row in set (0.00 sec)

クエリ結果からわかるように、SUM() 関数はすべての生徒の成績の合計を 942 として返します。

ヒント: SUM() 関数は、計算時に NULL 列値を持つ行を無視します。

MySQL AVG() 関数

MySQL AVG() 関数は、返された行の数と各行の合計を計算することによって、指定された列データの平均を計算します。データの。

ここでは、MAX() 関数の導入時に作成された次のテーブル tb_students_score を使用する必要があります。

【例】 tb_students_score テーブルに対して、全学生の平均点を問い合わせる 入力した SQL 文と実行結果は以下のとおりです。

mysql> SELECT AVG(student_score)
    -> AS score_avg
    -> FROM tb_students_score;
+-----------+
| score_avg |
+-----------+
|   94.2000 |
+-----------+
1 row in set (0.03 sec)

ヒント: AVG() 関数を使用する場合、パラメーターは計算する列の名前です。複数の列の平均を取得したい場合は、各列で AVG() 関数を使用する必要があります。 。

以上がmysqlで統計を収集するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。