![]()
SQLクリニック(5) Page
1/3月別売り上げを四半期別に集計する関数ワザ
株式会社インサイトテクノロジー
岸本拓也
2005/6/25
本連載はSQLの応用力を身に付けたいエンジニア向けに、さまざまなテクニックを紹介する。SQLの基本構文は平易なものだが、実務で活用するには教科書的な記述を理解するだけでは不十分だ。本連載は、著名なメールマガジン「おら! オラ! Oracle - どっぷり検証生活」を発行するインサイトテクノロジーのコンサルタントを執筆陣に迎え、SQLのセンス向上に役立つ大技小技を紹介していく。(編集局)
| 主な内容 --Page 1--
--Page 2--
--Page 3--
|
今回は集計時に使用すると便利な関数にターゲットを絞って解説します。集計時に使用される関数には
- AVG ― 平均値を求める
- MAX ― 最大値を求める
- MIN ― 最小値を求める
- SUM ― 合計値を求める
などがあります。例えば、リスト1のサンプル売り上げ表から月別の売り上げ集計を求めてみましょう。
SQL> desc sales |
| リスト1 サンプル売り上げ表 |
SQL> select month,sum(sal) from sales group by month order by 1; |
| リスト2 月別の集計値を求める |
簡単ですね。では四半期別の売り上げ集計を求めるには、どうすればよいでしょう。
まずいちばん簡単なのは“UNION ALL”で連結してしまう方法ではないでしょうか。UNION ALLは2つ以上のクエリの結果を連結する集合演算子です。
SQL> select '1Q' quarter,sum(sal) from sales |
| リスト3 UNION ALLで四半期別の集計値を求める |
ただし、この場合同じSALES表に4回アクセスしていますので、効率が悪いSQL文となっています。パフォーマンス上問題になるかもしれません。(次ページへ続く)
| 1/3 |
| Index | |
| 連載 SQLクリニック(5) 月別売り上げを四半期別に集計する関数ワザ |
|
| Page 1 ・月別の集計値を求める ・四半期別の集計値を求める(UNION ALL編) |
|
| Page 2 ・四半期別の集計値を求める(DECODE編) ・四半期別の集計値を求める(SIGN編) |
|
| Page
3 ・四半期別の集計値を求める(CASE式編) ・四半期別の集計値を求める(CEIL編) |
|
| SQLクリニック |
TechTargetジャパン
Database Expert フォーラム 新着記事
- やはりSELECT文は永遠のテーマです (2012/2/7)
Database Expertフォーラムの2012年1月のアクセスランキングをお届けします。定番の記事を一気に追い抜いてあの記事が…… - SELECT文で取り出したデータを加工して表示する (2012/1/25)
SELECT文で取り出したデータを対象に四則演算する方法など、データを見やすくする方法を解説します - 2012年は私たちが勉強会を盛り上げる! (2012/1/23)
2011年12月、データベース業界初の女子会が発足しました。そこで、女子会を盛り上げていってくれそうな2人にお話を伺いました - 複数の条件を指定してSELECT文を実行する (2012/1/13)
複数の条件を指定してSELECT文を実行する方法と、条件指定に必要な論理演算子、比較演算子の役割を解説します
|
|
@IT 新着記事
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
お勧め求人情報
転職/派遣情報を探す
**先週の人気講座ランキング**
〜 Android編 〜
ホワイトペーパー(TechTargetジャパン)
ソリューションFLASH
