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

推薦する

IframeとFRAMEの違いの分析

1. Iframe タグの使用<br />Iframe については、「忘れられた隅」に放...

CSS3はリストの無限スクロール/カルーセル効果を実現します

効果プレビューアイデア現在のリストを最後の項目までスクロールし、すぐに最初の項目に戻ります。問題1....

MySQL でパーティション分割後にクエリを実装するために MRG_MyISAM (MERGE) を使用する例

大量のデータベース データを最適化することは非常に高度な科学であり、開発者が習得する必要がある専門的...

CSSスタイルの記述順序と命名規則と注意事項

書き順の重要性ブラウザのリフローを減らし、ブラウザのDOMレンダリングパフォーマンスを向上させる①:...

コーディングスキルを向上させるためのJavaScriptのヒント

目次1. 一意の値をフィルタリングする2. 短絡評価2.1 シナリオ例3. ブール変換4. 文字列を...

ウェブサイトの高速化における CDN、SCDN、DCDN の違いは何ですか?どうやって選ぶ?

1. CDNこれは、Web サイト上で最もよく使用される加速機能です。分散サーバー レイアウトによ...

MySQLクエリ文の実行プロセスの詳細な説明

目次1. クライアントとサーバー間の通信方法2. クエリキャッシュ3. クエリ最適化処理4. クエリ...

MySQL 5.7.21 履歴データディレクトリからデータを復元するチュートリアルの解凍バージョン

状況の説明: データベースが異常に起動およびシャットダウンしたため、サービスを再度起動したときに「起...

異なるインデックスを更新してMySQLのデッドロックルーチンを解決する

前回の記事では、ソース コードを使用してロック関連の情報をデバッグする方法を紹介しました。ここでは、...

Vue を使用してモバイル APK プロジェクトを完了することについての簡単な説明

目次基本設定エントリファイル main.jsアプリ.vue表紙ヘッダー検索バー本体当プロジェクトでは...

Nginx での SSL 証明書のインストールと展開手順の概要

目次問題の説明:インストール手順1. 準備2. サーバーにリモート接続する3. 証明書と秘密鍵ファイ...

iOS スタイルの選択ボックスの開閉機能を実装するための純粋な CSS

1 効果デモアドレス: https://www.albertyy.com/2020/7/check...

vue3 キャッシュページキープアライブと統合ルーティング処理の詳細な説明

目次1. はじめに2. 使用1. vue2とvue3の違い2. ページ上の一部のデータはキャッシュす...

jQueryは検証コード送信のコントロールボタンを無効にする機能を実装します

必要な効果: 確認コードを送信するためにクリックした後、ボタンは無効になり、5 秒後に無効解除されま...

Reactはグローバル箇条書きボックスメソッドをカプセル化します

この記事の例では、Reactカプセル化グローバルポップアップボックスの具体的なコードを参考までに共有...