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問題によるウェブページの混乱の解決策

推薦する

WindowsとLinux間でファイルを転送する方法

WindowsとLinux間のファイル転送(1)WinSCPを使用して、WindowsファイルをLi...

iframeフレームはIEブラウザで白い背景を透明に設定します

最近、プロジェクトを進める過程で、ページの階層構造を描画するために iframe を頻繁に使用する必...

メタタグを簡単に説明すると

META タグは、一般的に タグと呼ばれ、HTML Web ページのソース コード内の重要な HTM...

ランダムな文字を生成する Java サンプルコード

サンプルコード: java.util.Random をインポートします。 java.util.UUI...

ボタンと入力タイプの違いと注意点

<button> タグ<br />定義と使用法<button> ...

Docker イメージのダウンロードが遅すぎる場合の解決策

Docker イメージのダウンロードが停止したり、遅すぎたりするネットでいろいろな方法を検索しました...

MySQLの外部ネットワークアクセス権を開く方法

以下のように表示されます。主に認証コマンドを実行します: 2つの方法1. 任意のホストがユーザー b...

MySQL でテーブル データを削除した後もディスク領域がまだ占有されているのはなぜですか?

目次1.MySQLデータ構造2. テーブルファイルのサイズは変更されておらず、MySQLの設計に関連...

WEB 標準ウェブページ構造

背景画像でも、ページ上のテキストサイズでも、1 ピクセルの違いは非常に明白です。そして、私は学生時代...

大規模なMySQLデータベース用のマスタースレーブシステムを構築するアイデアを共有する

今週は戦争のように忙しかったです。他人に操られているような気がします。毎日朝早く出勤して夜遅く帰り、...

Windows 8 での MySQL Community Server 5.6 のインストールと設定のチュートリアル

この記事では、Windows 8 での MySQL5.6 のインストールと設定のチュートリアルを記録...

MySQL 8.0.18 のインストールと設定のグラフィックチュートリアル

学習目標: Windowsシステムを使用してMySQLデータベースをインストールする方法を学びます。...

MySQL データベースの手動およびスケジュールされたバックアップ手順

目次手動バックアップタイマーバックアップ手動バックアップ1) cmd コンソール: mysqldum...

jQuery ベースのカレンダー効果

この記事では、カレンダー効果を実現するためのjQueryの具体的なコードを例として紹介します。具体的...

HTML タグ dl dt dd 使用方法

基本構造:コードをコピーコードは次のとおりです。 <ダウンロード> <dt>...