Manual background

GROUP BY 句の拡張機能

ROLLUP 5 この ROLLUP 操作の例では、年別、四半期別、地域別の注文数 を集計するというやや複雑な結果セットを返します。この例では、第 1 および 第 2 四半期と 2 つの地域 ( カナダと東部地区 ) だけを分析します。

SELECT year(order_date) AS Year, quarter(order_date) AS Quarter, region, COUNT(*) AS Orders

FROM alt_sales_order WHERE region IN ('Canada', 'Eastern') AND quarter IN (1, 2)

GROUP BY ROLLUP (Year, Quarter, Region) ORDER BY Year, Quarter, Region

次の図は、このクエリの結果セットを示しています。各小計ローでは、その小 計の計算対象になったカラムに NULL が格納されています。

ロー [1] はすべてのローの集計結果であり、YearQuarterRegion カラムに NULL が含まれています。このローの Orders カラムの値は、カナダと東部地 区の 2000 年および 2001 年の第 1 および第 2 四半期の注文数の合計を示してい ます。

[2]としてマークされているローは、それぞれの年 (2000 年と 2001 ) におけ るカナダと東部地区の第 1 および第 2 四半期の注文数の合計を示しています。 ロー [2] の値を足すと、ロー [1] に示されている総計に等しくなります。

54

Sybase IQ

Page 70
Image 70
Sybase 12.7 manual Sybase IQ