コンテンツフレーム起動

行のグループ化 文書を SAP ライブラリストラクチャに組み込む

GROUP BY 句によって、データベーステーブルからの複数の行を選択の単一の行にまとめます。

このグラフィックは添付のテキストに説明されています

GROUP BY 句によって、特定の列に同じ内容を持つ行をまとめることができます。集計機能は他の列に適用されます。GROUP BY 句の列を静的または動的に指定することができます。

列の静的指定

GROUP BY 句の列を静的に指定するには、以下を使用します。

SELECT <> <s1> [AS <a1>] <s2> [AS <a2>] ...
               <agg> <sm> [AS <am>] <agg> <sn> [AS <an>] ...
       ...
       GROUP BY <s1> <s2> ....

GROUP BY 句を使用するには、SELECT 句の関連列をすべて指定する必要があります。GROUP BY 句で、内容が同じである列の項目名を列挙します。データベーステーブルに表示されるとおりの項目名だけを使用することができます。SELECT 句のエイリアス名は使用できません。 

GROUP BY 句に列挙されない SELECT 句の列は、すべて集計機能に含む必要があります。これにより、これらの列の内容が行の集計時に計算される方法が定義されます。 

このグラフィックは添付のテキストに説明されています

列の動的指定

GROUP BY 句の列を動的に指定するには、以下を使用します。

... GROUP BY (<itab>) ...

ここで、<itab> は行データ型 C で最大桁数 72 文字の内部テーブルであり、列名 <s 1> <s 2> .... を含みます。 

 例

DATA: CARRID TYPE SFLIGHT-CARRID,
      MINIMUM TYPE P DECIMALS 2,
      MAXIMUM TYPE P DECIMALS 2.

SELECT   CARRID MIN( PRICE ) MAX( PRICE )
INTO     (CARRID, MINIMUM, MAXIMUM)
FROM     SFLIGHT
GROUP BY CARRID.

   WRITE: / CARRID, MINIMUM, MAXIMUM.

ENDSELECT.

出力結果は以下のとおりです。

このグラフィックは添付のテキストに説明されています

CARRID と同じ値を持つデータベーステーブル SFLIGHT の行が集計されます。PRICE の最小値と最大値が各グループに対して設定され、集計行に表示されます。

 

 

 

 

 

コンテンツフレーム終了