MySQL の基本: グループ化関数、集計関数、グループ化クエリの詳細な説明

MySQL の基本: グループ化関数、集計関数、グループ化クエリの詳細な説明

1. 使い方が簡単

SUM: 合計(通常は数値の処理に使用されます)
AVG: 平均(通常は数値の処理に使用されます)
MAX: 最大値(文字列や日付の処理にも使用できます)
MIN: 最小値 (文字列や日付の処理にも使用できます)
COUNT: 数量(NULL以外の値の数を数える)

上記のグループ化関数は NULL 値を無視します。

SELECT SUM(給与) AS 合計、AVG(給与) AS 平均、MAX(給与) AS 最大、MIN(給与) AS 最小、COUNT(給与) AS 数値 FROM employees;

ここに画像の説明を挿入

2. DISTINCTを使用して重複を削除する

(上記機能はすべてご利用いただけます)

SELECT SUM(DISTINCT salary) AS sum、AVG(DISTINCT salary) AS average、COUNT(DISTINCT salary) AS number of duplicates removed、COUNT(salary) AS number of non-duplicates FROM employees;

ここに画像の説明を挿入

3. COUNT()の詳細な紹介

#行数をカウントする方法と同等 SELECT COUNT(*) 
従業員から;
#行をカウントする2番目の方法と同等で、1は他の定数またはフィールドに置き換えることができます。SELECT COUNT(1) 
従業員から;

効率の問題:
COUNT(*)はMYISAMストレージエンジンでは非常に効率的です
INNODBストレージエンジンでは、 COUNT(*)COUNT(1)はほぼ同じくらい効率的ですが、 COUNT(字段)よりも効率的です。

したがって、行数をカウントするには、通常、 COUNT(*)が使用されます。

4. グループクエリ

#[] にはオプションの SELECT グループ化関数とリストが含まれます (GROUP BY の後に指定する必要があります)
FROM テーブル [WHERE フィルタ条件]
GROUP BY グループ化リスト [ORDER BY 句]

例:

#各職種の最高給与を照会する SELECT MAX(salary) AS 最高給与, job_id
従業員から
ジョブIDごとにグループ化します。

ここに画像の説明を挿入

#各部門のメールに が含まれる従業員の平均給与を照会する(グループ化前にスクリーニング)
SELECT AVG(salary) AS 平均給与、department_id
従業員から
WHERE メール LIKE '%a%'
部門IDでグループ化;

ここに画像の説明を挿入

#従業員数が2人以上の部門の従業員数を照会する(グループ化後のスクリーニング)
#HAVINGの使用
従業員番号、部署IDとしてCOUNT(*)を選択します
従業員から
部門IDによるグループ化
COUNT(*)>2である;

ここに画像の説明を挿入

ここに画像の説明を挿入

#SELECT COUNT(*) AS 従業員数、job_id、department_id を複数のフィールドで選択
従業員から
ジョブID、部門IDでグループ化します。

ここに画像の説明を挿入

#完全な構造 SELECT AVG(salary) AS average salary, department_id
従業員から
department_id が NULL ではない場合
部門IDによるグループ化
平均給与が9000以上
ORDER BY AVG(給与) DESC;

ここに画像の説明を挿入

これで、MySQL のグループ化関数、集計関数、グループ化されたクエリの基本についての説明は終了です。MySQL のグループ化関数の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • 非常に実用的なMySQL関数の包括的な概要、詳細な例の分析チュートリアル
  • MySQL実践ウィンドウ関数SQL分析クラスの生徒のテストの成績と生活費
  • MySQL データベースの基礎 SQL ウィンドウ関数の例の分析チュートリアル
  • mysql 計算関数の詳細
  • 単一行関数と文字計算日付プロセス制御を説明する MySQL の例
  • MySQL関数の簡単な紹介
  • MySQL 空間データストレージと関数
  • MySQL関数の包括的な概要

<<:  Linux システムでの Selenium クローラー プログラムの導入の概要

>>:  ウェブページのFOUC問題によるウェブページの混乱の解決策

推薦する

DCL を使用して MySQL でユーザーを管理し、権限を制御する方法

DCL (データ制御言語): データベースのアクセス権とセキュリティ レベルを定義し、ユーザーを作成...

VMware 仮想マシンのインストール Apple Mac OS の超詳細なチュートリアル

目次要約する仕事の都合で Apple の Mac OS に対応するソフトウェアをインストールする必要...

CentOS 8 カスタム ディレクトリ インストール nginx (チュートリアルの詳細)

1. ツールとライブラリをインストールする# PCRE は、Perl 互換の正規表現ライブラリを含...

mysql の not equal to null と equal to null の書き方の詳細説明

1. テーブル構造 2. 表データ 3. クエリのteacher_nameフィールドは空にすることは...

スタックメニューを実装するためのjQueryプラグイン

jQueryプラグインの毎日の積み重ねメニュー、参考までに、具体的な内容は次のとおりです。スタックメ...

Vueリストデータを削除した後、ページを自動的に更新する方法と更新方法の詳細な説明

問題の説明:フロントエンドがデータの一部を削除したり、新しいデータを追加したりすると、バックエンドの...

Apache ab同時負荷ストレステストの実装方法

腹筋コマンドの原則Apache の ab コマンドは、マルチスレッドの同時リクエストをシミュレートし...

MySQL 外部キー制約の詳細な説明

公式ドキュメント: https://dev.mysql.com/doc/refman/5.7/en/...

重複データの処理に関するMySQL学習ノート

MySQLは重複データを処理します一部の MySQL テーブルには重複レコードが含まれている場合があ...

docker-compose ネットワーク設定についての簡単な説明

ネットワーク使用チュートリアル公式サイト docker-compose.yml リファレンスドキュメ...

Vue プロジェクトで TS (TypeScript) を使用するための入門チュートリアル

目次1. Typescriptの紹介2. 設定ファイル webpack 設定3. プロジェクトに.t...

Vue はブラウザのパスワード記憶機能を無効にするサンプル コードを実装します

情報を探すインターネットで見つかったいくつかの方法: autocomplete="off&...

CSS スキル コレクション - 古典の中の古典

リンク上の点線のボックスを削除しますコードをコピーコードは次のとおりです。 a:アクティブ、a:フォ...

MySql 5.7.21 無料インストール バージョンの構成方法 (Win10 の場合)

1.インストールしたい場所に解凍し、my.iniファイルを作成します。 my.iniの内容は次のと...

MySQL 8.0.12 インストール グラフィック チュートリアル

MySQL8.0.12 インストールチュートリアルをみんなで共有します。 1. インストール1.イン...