SQL
 Computer >> コンピューター >  >> プログラミング >> SQL

SQL Group By:完全ガイド

SQLGROUPBYステートメントは集計関数に表示されます。クエリから選択したデータを特定の列で照合するために使用されます。 GROUPBYステートメントを使用してグループ化される複数の列を指定できます。

SQLで集計関数を使用する場合、多くの場合、共通の列値で行をグループ化する必要があります。

たとえば、ビジネスの支店名のリストを取得するとします。この情報の横に、それらの支店で働いている従業員の数を確認する必要があります。集計関数を使用し、ブランチ名でグループ化する必要があります。

ここで、SQL GROUP BY 句が入ります。このチュートリアルでは、 GROUP BYの使用方法について説明します。 条項。

集計関数の復習

多くの場合、データベースを操作しているときは、データベース内の実際のデータを見ているわけではありません。代わりに、データに関する情報が必要になる場合があります。たとえば、ビジネスで販売しているユニークな商品の数やリーダーボードの最大スコアを知りたい場合があります。

SQLには多くの関数が組み込まれています これにより、この情報を取得できます。これらは集計関数と呼ばれます。

たとえば、販売員である従業員の数を知りたい場合は、 COUNTを使用できます。 関数。 COUNT 関数は、特定の基準セットを満たす行の数をカウントして返します。その他の集計関数には、SUM、AVG、MIN、およびMAXが含まれます。

集計関数の詳細については、SQL集計関数ガイドをご覧ください。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

SQL GROUP BY

SQLGROUPBY句は行を照合します。 GROUP BY句は、MINやMAXなどの集計関数を使用するクエリで一般的です。 GROUP BYステートメントは、クエリした非集計列の情報を集計する方法をSQLに指示します。

GROUPBYステートメントの構文は次のとおりです。

SELECT COUNT(column1_name), column2_name
FROM table1_name
GROUP BY column2_name;

クエリで集計関数を使用し、別の列を指定しました。

これが当てはまるクエリでは、GROUPBYステートメントを使用する必要があります。 GROUP BYステートメントは、集計関数の外部にある場合でも、ブランチデータを表示する方法をSQLに指示します。集計関数にないテーブルでグループ化する必要があります。

GROUP BY句は、SQLSELECTステートメントでのみ使用されます。

SQLのGROUPBY句の例を見てみましょう。

GROUPBYSQLの例

たとえば、各役職が従業員に与えられている従業員の総数を調べたいとします。つまり、営業担当者の数、マーケティングディレクターの数などを知りたいのです。

次のクエリを使用して、この情報を取得できます。

SELECT title, COUNT(title)
FROM employees
GROUP BY title;

クエリは複数のレコードを返します:

title カウント
シニアセールスアソシエイト 1
セールスアソシエイト 4
営業担当副社長 1
マーケティングディレクター 1

(4行)

GROUP BY クエリは、従業員が保持している一意のタイトルのリストを返しました。各タイトルの横にそのタイトルを保持している従業員の数が表示されます。

SQLでGROUPBYを使用する必要があるのはいつですか?

GROUP BY 句は、集計関数から返される情報よりも多くの情報を取得しようとしている場合にのみ必要です。これについては少し前に説明しました。

あなたが持っている顧客の数を取得しようとしているなら、あなたは通常のクエリを実行する必要があるだけです。この情報を返すクエリの例を次に示します。

SELECT COUNT(name) FROM customers;

クエリは結果をグループ化し、次を返します:

count
7

(1行)

各ロイヤルティプランに参加している顧客の数を知りたい場合は、 GROUP BYを使用する必要があります。 声明。ロイヤルティプランのリストと各プランの顧客数を取得するクエリの例を次に示します。

SELECT loyalty_plan, COUNT(loyalty_plan)
FROM customers
GROUP BY loyalty_plan;

クエリはデータを収集します。次に、クエリは次を返します:

loyalty_plan カウント
ゴールド 1
なし 3
シルバー 1
ブロンズ 2

(4行)

複数の列によるSQLGroup

必要に応じて、 GROUP BYを実行できます。 複数の列に。たとえば、特定の役職を持つ各支店の従業員数のリストを取得したいとします。次のクエリを使用してこのデータを取得できます:

SELECT branch, title, COUNT(title)
FROM employees
GROUP BY branch, title;

クエリ結果セットは次のことを示しています:

ブランチ タイトル カウント
スタンフォード セールスアソシエイト 1
アルバニー 営業担当副社長 1
サンフランシスコ セールスアソシエイト 1
サンフランシスコ シニアセールスアソシエイト 1
アルバニー マーケティングディレクター 1
ボストン セールスアソシエイト 2

(6行)

クエリは、各従業員が保持するタイトルのリストを作成します。そのタイトルを持っている人の数を見ることができます。私たちのデータは、各従業員が勤務する支店とその役職によってグループ化されています。

結論

SQL GROUP BY 集計関数が使用され、追加のテーブルが照会されるステートメントでは、句が必要です。集計関数で言及されていない列でグループ化する必要があります。

あなたは挑戦を探していますか?各支店で何人の従業員が働いているかを知るステートメントを書いてください。

このテーブルは「従業員」と呼ばれ、ブランチ名が格納されている列は「ブランチ」です。上記のチュートリアルに戻り、説明した内容に基づいてクエリが意味をなすかどうかを確認してください。

SQLの学習方法に関する完全なガイドを作成しました。このガイドは、初心者およびSQLの習得にすでに取り組んでいる人に適しています。 SQLの学習方法のページで確認してください。


  1. Fortniteシステム要件の完全ガイド

    Fortniteは最近多くの人気を得ています。しかし最近、多くの人が「PCで実行できますか」という質問を投げかけました。 」および「このバトルロワイヤルゲームを実行するのに十分な互換性がある場合 」。通常、他の一般的なプログラムと比較して、ゲームにはRAM、プロセッサ、ビデオカード、 DirectXの要件が高くなります。 、など。 コンテンツ: Fortnite Minimal Specsとは何ですか? Fortniteの推奨PC要件は何ですか? MacでのFortniteシステム要件は何ですか? ボーナスのヒント:すべてのゲームドライバーとコンポーネントを更新し

  2. 完全ガイド:Fitbit Pay

    Fitbit は、利用可能な最高のスマート ウェアラブルの 1 つです。多くのモデルがあり、多くの機能を備えています。 Fitbit の有名な機能の 1 つに Fitbit Pay があります。 Fitbit Ionic と Fitbit Versa の近距離無線通信チップを使用すると、非接触型決済を利用できるあらゆる店舗で支払うことができます。 この投稿では、Fitbit Pay の使用方法を理解するのに役立つ完全なガイドを掲載しています。 Fitbit Pay とは? Fitbit Pay は、Fitbit Ionic および Versa にデビット カードまたはクレジット カードを追