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

推薦する

WeChatミニプログラムでEchartとサブパッケージを使用するための完全な手順

序文休日は終わっていますが、それは別の形で(お腹に触れることで)私たちに現れます。ミニプログラムでデ...

jsはショッピングウェブサイトの商品の拡大鏡効果を実現します

この記事では、ショッピングサイトの商品の拡大鏡効果を実現するためのjsの具体的なコードを紹介します。...

MySQL の厄介な Aborted 警告をケーススタディで分析する

この記事では主に、MySQL の Aborted アラームに関する関連コンテンツを紹介し、参考と学習...

MySQL 8.0.11 圧縮版のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0圧縮パッケージのインストール方法、詳細は次のとおりです知らせ:オペレーティング シ...

JavaScript の find() メソッドと filter() メソッドの違いのまとめ

目次序文JavaScript find() メソッドJavaScript filter() メソッド...

CSS は Google マテリアル デザインのテキスト入力ボックス スタイルを実装します (推奨)

みなさんこんにちは。今日は、純粋な CSS を使用して Google マテリアル デザインのテキスト...

JavaScript タイマー原理の詳細な説明

目次1. setTimeout() タイマー2. setTimeout() タイマーを停止する3. ...

TypeScript デコレータ定義

目次1. コンセプト1.1 定義1.2 デコレータファクトリー1.3 デコレータの組み合わせ1.4 ...

Nginxドメイン名転送のhttpsアクセスの実装

事前に一言:突然、複数のドメイン名のアクセスを https に転送するというタスクを受け取りました。...

マークアップ言語 - アンカー

前: マークアップ言語 - フレーズ要素 オリジナルソース 第 7 章 アンカーHTML のリンクの...

Jenkins+Docker継続的インテグレーションの実装

目次1. Jenkinsの紹介2. Jenkinsをインストールしてデプロイする1. 環境情報2. ...

CSSスクロールバーのスタイルをカスタマイズする方法の詳細な説明

この記事では、CSS スクロールバー セレクターを紹介し、Webkit ブラウザーと IE ブラウザ...

JSは円形のプログレスバーのドラッグとスライドを実装します

この記事の例では、円形のプログレスバーのドラッグアンドスライドを実現するための具体的なJSコードを紹...

IE6 スペースバグ修正方法

コードを見てみましょう:コードをコピーコードは次のとおりです。 < !DOCTYPE html...