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はシンプルな計算機を実装する

推薦する

Mysql 5.6ではユーザー名とパスワードを変更するメソッドが追加されました

まずMySQLにログインする シェル> mysql --user=root mysqlパスワー...

時系列転位修復ケースを実装するSQL

目次1. 要件の説明2. アイデアの概要1. 延長を要求する2. アイデアの概要3. SQLコード1...

システム エラー 1067 のため、MySQL 5.6 解凍バージョン サービスを開始できません

今日午後ずっと私を悩ませたバグを記録する半月前から始めましょう。それから.................

HTMLフォーム送信方法のケーススタディ

フォームの送信方法をまとめると次のようになります。 1. 送信ボタンを使用して送信します。送信ボタン...

ウェブページのカラーマッチングスキルについての簡単な説明(フロントエンド開発者必読)

一般的に、Web ページの背景色は、より柔らかく、よりシンプルで、より明るく、暗いテキストとマッチし...

Win10 64 ビットで圧縮パッケージを使用して最新の MySQL 8.0.18 をインストールするチュートリアル (画像とテキスト付き)

WIN10 64ビットに最新のMySQL8.0.18をインストールダウンロード公式サイトから最新バ...

JS のディープコピーとシャローコピーの詳細

目次1. 浅いコピーとはどういう意味ですか? 2. ディープコピーとはどういう意味ですか? 3. デ...

MySQL サーバーの接続、切断、および cmd 操作

mysql コマンドを使用して MySQL サーバーに接続します。 MySQL サーバーが起動したら...

DockerにRedisをインストールし、設定ファイルとして起動する詳細な説明

更新: 最近、サーバーがマイニング ウイルスによってハッキングされたことが判明しました。これは、おそ...

Alibaba Cloud CentOS7 サーバーの nginx 構成と FAQ の分析

序文:この記事は、jackyzm のブログ https://www.cnblogs.com/jack...

Ubuntu 20.04にvncserverをインストールする方法

Ubuntu 20.04は2020年4月に正式にリリースされました。本日、ミラーシステムを正式にイン...

Reactはダブルスライダークロススライドを実装します

この記事では、Reactでダブルスライダークロススライドを実装するための具体的なコードを参考までに共...

Docker は Python Flask+ nginx+uwsgi コンテナを構築します

Nginxをインストールするまずcentosイメージをプルしますdocker pull centos...

Dockerコンテナ監視の原理とcAdvisorのインストールおよび使用方法

本番環境におけるコンテナの稼働状況を監視することは非常に重要です。監視を通じて、コンテナの稼働状況を...

MySQLデュアルマシンホットスタンバイと負荷分散の実装手順の詳細説明

MySQL データベースには増分バックアップ メカニズムはありませんが、マスター データベース内のす...