概要:このチュートリアルでは、OracleGROUP BY句を使用して行をグループ化する方法を学習します。
ORACLE GROUP BY句の概要
GROUP BY句は、SELECT文で使用して、列または式の値によって行を集計行のセットにグループ化します。 GROUP BY句は、グループごとに一つの行を返します。,
GROUP BY句は、AVG()、COUNT()、MAX()、MIN()、SUM(). この場合、aggregate関数はグループごとの要約情報を返します。 たとえば、いくつかのカテゴリにある商品のグループを指定すると、AVG()関数は、各カテゴリの商品の平均価格を返します。,
OracleGROUP BY句の構文を次に示します。
GROUP BY句は、FROM句の後に表示されます。, WHERE句が表示されている場合、GROUP BY句は、次のクエリに示すようにWHERE句の後に配置する必要があります。
GROUP BY句は、グループ化次のような列c1、c2およびc3。 GROUP BY句には、集計またはグループ化列のみを含める必要があります。,
一度に計算するグループ化の複数のレベルを指定する場合は、次のROLLUP構文を使用します。
詳細については、ROLLUPチュートリアルを参照してください。,
この文は、DISTINCT演算子を使用する次の文と同じ効果を持ちます。
b)集計関数の例を持つOracle GROUP BY
次の文は、
この例では、顧客ごとの注文をグループ化し、COUNT()関数を使用してグループごとの注文数を返します。,
より意味のあるデータを取得するには、ordersテーブルとcustomersテーブルを次のように結合します。
結果は次のとおりです。
c)式の例を使用したoracle group by
次の例では、注文を年ごとにグループ化し、年ごとの注文数を返します。
この例では、EXTRACT()関数を使用して、注文の日付から年情報を取得しました。,
前の例とは異なり、GROUP BY句で年を返す式を使用しました。,次の図は、結果を示しています。
D)ORACLE GROUP BY with WHERE句の例
この例では、GROUP BY句をWHEREすべての顧客の出荷注文の数を返す句
出力は次のとおりです。
oracleは常にWHEREGROUP BY句。,
E)ORACLE GROUP BY with ROLLUP example
次の文は、売上金額を計算し、customer_id、status、および(customer_id、status)でグループ化します。
このチュートリアルでは、oracleGROUP BY句を使用して行をグループにグループ化する方法を学習しました。/p>
- このチュートリアルは役に立ちましたか?
- イェスノ