SQL GROUP BYの詳細な説明と簡単な例

SQL GROUP BYの詳細な説明と簡単な例

GROUP BY ステートメントは、Aggregate 関数と組み合わせて使用​​され、1 つ以上の列に基づいて結果セットをグループ化します。

SQL GROUP BY 構文

SELECT 列名、集計関数(列名)
テーブル名から
WHERE 列名 演算子 値
GROUP BY 列名;

デモデータベース

このチュートリアルでは、よく知られている Northwind サンプル データベースを使用します。

「注文」テーブルから選択されたデータは次のとおりです。

注文ID顧客ID従業員ID注文日発送者ID
10248 90 5 1996-07-04 3
10249 81 6 1996-07-05 1
10250 34 4 1996-07-08 2

「Shippers」テーブルのデータ:

発送者ID発送者名電話
1スピーディーエクスプレス(503)555-9831
2ユナイテッドパッケージ(503)555-3199
3連邦配送(503)555-9931

「従業員」テーブルから選択されたデータ:

従業員ID苗字ファーストネーム生年月日写真注記
1ダヴォリオナンシー1968-12-08エンプID1.pic学歴にはBAが含まれます。
2フラーアンドリュー1952-02-19 EmpID2.picアンドリューはBTSを受け取りました....
3レバリングジャネット1963-08-30 EmpID3.picジャネットは理学士号を持っています。

SQL GROUP BY の例

ここで、各配達員が配達した注文の数を調べます。

次の SQL ステートメントは、配達員ごとに注文を分類してカウントします。

SELECT Shippers.ShipperName,COUNT(Orders.OrderID) AS NumberOfOrders FROM Orders
左 参加する 荷主
ON Orders.ShipperID=Shippers.ShipperID
GROUP BY 出荷者名;

複数の列をGROUP BYする

次に示すように、GROUP BY 句を複数の列に適用することもできます。

Shippers.ShipperName、Employees.LastName、を選択します。
COUNT(Orders.OrderID) AS NumberOfOrders
から ((注文
INNER JOIN 荷送人
ON Orders.ShipperID = Shippers.ShipperID)
内部結合従業員
ON Orders.EmployeeID = Employees.EmployeeID)
GROUP BY 出荷者名、姓;

読んでいただきありがとうございます。お役に立てれば幸いです。このサイトをサポートしていただきありがとうございます。

以下もご興味があるかもしれません:
  • Mysqlはグループによるソートを使用する
  • MySQL 5.7 の新機能によるグループ エラー 1055 の解決方法
  • SQL における order by と group by の違い
  • サンプルコードを持つMySQLグループ
  • MYSQL GROUP BY の使用法の詳細な説明
  • MySQL での SQL ステートメント Groupby の誤った使用
  • MySQL で GROUP BY を使用して最初の N レコードを取得する方法
  • MySQL は GROUP BY を最適化します (ルーズ インデックス スキャンとコンパクト インデックス スキャン)
  • MySQLグループクエリGroup Byの実装原理の詳細な説明

<<:  Linux サーバーに埋め込まれた ddgs および qW3xT.2 マイニング ウイルスの対処の実践記録

>>:  Vueはシンプルな計算機を実装する

推薦する

Vueは3階層メニューを再帰的に実装する

この記事の例では、3階層メニューを再帰的に実装するVueの具体的なコードを参考までに共有しています。...

MySQL 学習チュートリアル クラスター化インデックス

クラスタリングは、実際には InnoDB データベース エンジンに関連しています。したがって、インデ...

一般的な Dockerfile コマンドの使用方法の紹介

目次01 CM 02 エントリーポイント03 ワークディレクトリ04 環境05 ユーザー06巻07 ...

MySQL における KEY、PRIMARY KEY、UNIQUE KEY、INDEX の違い

タイトルで提起された問題は、段階的に分解して解決することができます。 MySQL では KEY と ...

MySQL、Oracle、SQL Server のページングクエリ例の分析

最近、Oracle、MySQL、SQL Server 2005 のデータ ページング クエリについて...

HTMLの表のtbodyは上下左右にスライドできます

テーブル ヘッダーが固定されている場合は、それを 2 つのテーブルに分割する必要があります。1 つの...

Ubuntu サーバーで MySQL を設定し、リモート接続を実装する方法

サーバー: Ubuntu Server 16.04 LSSクライアント: Ubuntu 16.04 ...

Maxwell を使用して MySQL データをリアルタイムで同期する方法

目次マクスウェルについてMaxwellの設定と使用1. Maxwellインストールパッケージをダウン...

ApacheとTomcatを組み合わせて静的状態と動的状態を分離する方法

実験環境ApacheとTomcatは両方ともIPアドレス192.168.153.136のホストにイン...

MySQL SELECT文の実行方法

MySQL Select ステートメントはどのように実行されますか?最近、Geek Time で D...

Ubuntu16.04はphp5.6ウェブサーバー環境を構築します

Ubuntu 16.04 はデフォルトで PHP7.0 環境をインストールしますが、PHP7 は一部...

MySql 8.0.16-win64 インストール チュートリアル

1. ダウンロードしたファイルを以下のように解凍します。 。 2. 環境変数に解凍ディレクトリを追加...

Linux の crontab タスク スケジューリングの簡単な分析

1. スケジュールタスクを作成する命令crontab -eは現在のユーザーの編集インターフェースに入...

Idea の起動速度を改善し、Tomcat ログの文字化けを解決する方法

目次序文アイデアの起動速度Tomcat ログが文字化けしている序文Idea を再インストールしたので...

JavaScript をスリープまたは待機させる方法

目次概要setTimeout() の確認スリープ関数の書き方シンプルな選択ループで実行されますか?要...