ホームページ  >  記事  >  データベース  >  MySQL 集計関数をマスターする: データ分析を簡素化する

MySQL 集計関数をマスターする: データ分析を簡素化する

WBOY
WBOYオリジナル
2024-09-07 06:00:32536ブラウズ

今日のデータ主導の意思決定の世界では、効率と正確さが成功の鍵です。 MySQL の集計関数は、ユーザーがデータを迅速に計算、分析、要約できる強力なツールです。この記事では、複雑なデータ操作をシンプルかつ効率的に行う MySQL 集計関数について紹介します。

ツール:
-データベース: MySQL コミュニティ 8.1
-GUI:SQLynx Pro 3.5.0

サンプルデータ:

CREATE TABLE student_score (
  id INT PRIMARY KEY,
  name VARCHAR(50),
  subject VARCHAR(50),
  score INT
);

INSERT INTO
  student_score (id, name, subject, score)
VALUES
  (1, 'Tom', 'Math', 80),
  (2, 'Tom', 'English', 90),
  (3, 'Tim', 'English', 98),
  (4, 'Alice', 'Math', 85),
  (5, 'Alice', 'English', 87),
  (6, 'Bob', 'Math', 78),
  (7, 'Bob', 'Science', null),
  (8, 'Charlie', 'History', 92),
  (9, 'Charlie', 'Math', 81),
  (10, 'Diana', 'English', 93);

1.カウント()

  • 目的: 指定された条件に一致する行の数を返します。
  • : COUNT(*) は、NULL 値を持つ行を含むすべての行をカウントします。 COUNT(column) は、指定された列内の NULL 以外の値をカウントします。
  • :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

2.SUM()

  • 目的: 数値列の値の合計を返します。
  • : 合計には NULL 以外の値のみが含まれます。すべての値が NULL の場合は、NULL を返します。
  • :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

3. AVG()

  • 目的: 数値列の平均値を計算します。
  • : NULL 以外の値のみが考慮されます。 NULL 以外の値がない場合、AVG() は NULL を返します。
  • :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

4.MAX()

  • 目的: 列の最大値を返します。
  • : 数値、日付、文字列型で動作します。 NULL 値を無視します。
  • :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

5.MIN()

  • 目的: 列の最小値を返します。
  • : MAX() と同様に、数値、日付、および文字列型で動作し、NULL 値は無視されます。
  • :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

6. GROUP_CONCAT()

  • 目的: オプションの区切り文字を使用して、列の値を単一の文字列に連結します。
  • : 異なる行の文字列を 1 つに集約する場合に便利です。区切り文字を指定できます(デフォルトはカンマ)。 NULL 以外の値のみが連結されます。
  • :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

7. JSON_ARRAYAGG()

  • 目的: 複数の行の値を JSON 配列に集計します。
  • : 列の結果セットを JSON 配列に変換します。結果の配列には、NULL 以外の値のみが含まれます。
  • :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

8. JSON_OBJECTAGG()

  • 目的: 複数の行からキーと値のペアを JSON オブジェクトに集約します。
  • : 最初の引数はキーを提供し、2 番目の引数は結果の JSON オブジェクトの値を提供します。 NULL 以外のキーと値のペアのみが結果に含まれます。
  • :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

9.STD()

  • 目的: データセット内の変動または分散の量を反映して、数値列の標準偏差を計算します。
  • : STD() と STDDEV() は両方とも、母集団標準偏差を計算する STDDEV_POP() のエイリアスです。 NULL 以外の値のみが考慮されます。 サンプル標準偏差を計算する必要がある場合は、STDDEV_SAMP().
  • を使用します。
  • :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

10. STD_SAMP()

  • 目的: 数値列のサンプル標準偏差を計算し、サンプル データセット内での値の広がりの尺度を提供します。
  • : NULL 以外の値のみが考慮されます。母集団の標準偏差を計算する STD() や STDDEV() とは異なり、STD_SAMP() はサンプル データに特に使用され、サンプル サイズの偏りを考慮して n-1 で除算されます。
  • :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

11. VAR_POP()

  • 目的: 数値列の母集団分散を計算し、母集団全体のデータ ポイントがどのように分散しているかを測定します。
  • : NULL 以外の値のみが考慮されます。 VAR_POP() は、データが母集団全体を表す場合に使用され、n (データ ポイントの総数) で除算されます。
  • :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

12.VAR_SAMP()

  • 目的: 数値列のサンプル分散を計算し、サンプル内のデータ ポイントがどのように分散しているかを測定します。
  • : NULL 以外の値のみが考慮されます。 VAR_SAMP() は、データが母集団のサンプルを表す場合に使用され、サンプル サイズを調整してバイアスを回避するために n-1 で割られます。
  • :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

13.ビットアンド()

  • 目的: 列内のすべての値のビット単位の AND を返します。
  • : 整数値で動作し、NULL エントリは無視されます。
  • :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

14.BIT_OR()

  • 目的: 列内のすべての値のビット単位の OR を返します。
  • : BIT_AND() と同様に、整数を処理します。
  • :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

15.BIT_XOR()

  • 目的: 列内のすべての値のビットごとの XOR を返します。
  • : ビットごとの XOR は、パリティ チェックや同様のタスクに役立ちます。
  • :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis


これらの集計関数は、データを要約、計算、操作するための強力な方法を提供し、データ分析とレポート作成に不可欠なツールとなります。これらを使用する場合は、NULL 値の処理方法を考慮し、特定の SQL モードまたは MySQL バージョンの要件 (JSON 関数など) に注意してください。

以上がMySQL 集計関数をマスターする: データ分析を簡素化するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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