次のsales_viewテーブル データがあると仮定します。
sales_view | ||||||
---|---|---|---|---|---|---|
PID | Cost | sale | margin | state | county | city |
1 | 38350 | 50150 | 11800 | CA | Los Angeles | Long Beach |
1 | 63375 | 82875 | 19500 | CA | San Diego | San Diego |
1 | 46800 | 61200 | 14400 | CA | Los Angeles | Avalon |
1 | 40625 | 53125 | 12500 | CA | Los Angeles | Long Beach |
2 | 20000 | 24750 | 4750 | CA | Los Angeles | Long Beach |
2 | 4800 | 5940 | 1140 | CA | San Diego | Santee |
1 | 57600 | 71280 | 13680 | CA | San Diego | San Diego |
売上(sale)についてcountyとPIDの効果を調べてみましょう。
次のSELECT文は、GROUP BY句でCUBEを使用して、売上(sale)に対するcountyおよびPIDの効果を分析します。
SELECT pid, county, SUM(sale) FROM sales_view GROUP BY CUBE (pid,county);
問合わせで以下のデータが報告されます。疑問符(?)はnullを示します。
PID |
County |
Sum(sale) |
--- |
------ |
--------- |
2 |
Los Angeles |
24750 |
1 |
Los Angeles |
164475 |
2 |
San Diego |
5940 |
1 |
San Diego |
154155 |
2 |
? |
30690 |
1 |
? |
381630 |
? |
Los Angeles |
189225 |
? |
San Diego |
160095 |
? |
? |
349320 |
この問合わせでは、郡とPIDの次元にまたがって、次の4つの異なるレベルのグループを計算します。
- countyおよびPIDごと(グループ1~4)。
- PIDのみ(グループ5と6)。
- countyのみ(グループ7と8)。
- 何もなし(グループ9)。すべてのCountyおよびPIDにわたって売上高(sale)を集約します。
nullは、欠落した情報ではなく空のセットを表わすのに使用されています。Nullは、示されているグループ分けレベルでレポートされない情報を意味しており、sales_view基本テーブルから欠落している情報を意味するわけではありません。