SQL Server GROUP BY (日本語)

概要:このチュートリアルでは、SQL ServerGROUP BY句を使用して、グループ内の行を一つ以上の列ごとに配置する方法を学習します。

Sql Server GROUP BY句の概要

GROUP BY句を使用すると、クエリの行をグループ単位で配置できます。 グループは、GROUP BY句で指定した列によって決定されます。,

以下は、GROUP BY句構文を示しています。

Code language: SQL (Structured Query Language) (sql)

このクエリでは、GROUP BY句で、GROUP BY句にリストされている列の値の組み合わせごとにグループを生成しました。

次の例を考えてみましょう。

この例では、顧客idと顧客idを持つ顧客の注文された年を取得しました。,

出力からはっきりとわかるように、idを持つ顧客は2016年に一つの注文をし、2018年に二つの注文をしました。 Id twoを持つ顧客は2017年に二つの注文をし、2018年に一つの注文をしました。

GROUP BY句をクエリに追加して効果を確認しましょう。

GROUP BY句は、最初の三行を二つに配置しました顧客idと注文年の一意の組み合わせを持つ他の二つのグループにグループと次の三つの行。,

機能的に言えば、上記のクエリのGROUP BY句は、DISTINCT句を使用する次のクエリと同じ結果を生成しました。

SQL Server GROUP BY句および集計関数

実際には、GROUP BY句は、サマリーレポートを生成するための集計関数でよく使用されます。

GROUP BY句は行をグループに配置し、集計関数は要約(count、min、max、average、sumなど)を返します。,)各グループのために。,

GROUP BY句にリストされていない列または式を参照する場合は、次のクエリを実行する必要があります。その列を集計関数の入力として使用します。 それ以外の場合は、列または式がグループごとに単一の値を返すという保証がないため、エラーが発生します。, たとえば、次のクエリは失敗します。

その他のGROUP BY句の例

GROUP BY句がどのように機能するかを理解するために、さらにいくつかの例を見てみましょう。

COUNT()関数でGROUP BY句を使用する例

次のクエリは、すべての都市の顧客数を返します。

この例では、GROUP BY句groups都市ごとの顧客とCOUNT()関数は、各都市の顧客の数を返します。,

同様に、次のクエリでは、州および都市ごとに顧客数が返されます。

MINおよびMAX関数の例でGROUP BY句を使用する

次のステートメントは、2018年モデルのすべての製品のブランド別の最小および最大の定価を返します。

この例では、WHERE句は、いつものようにGROUP BY句の前に処理されます。,v>

SUM関数でGROUP BY句を使用する例

以下を参照してくださいorder_itemsテーブル:

次のクエリでは、SUM()関数を使用して、すべての注文の正味値を取得します。

このチュートリアルでは、sql serverGROUP BY列の指定されたリストによってグループ内の行を配置する句。,

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です