![]()
SQLクリニック(5) Page
3/3月別売り上げを四半期別に集計する関数ワザ
株式会社インサイトテクノロジー
岸本拓也
2005/6/25
Oracleのバージョンが「9i」以上であれば、“CASE”式が使用できます。CASE式を使用するとSQL文で「IF...THEN...ELSE」論理を使用できます。
SQL> select |
| リスト9 CASE式を使った四半期別の売り上げ集計値 |
CASE式にすると、非常に分かりやすくSQL文をコーディングできますね。でももっとシンプルな書き方があるのです。次のCEIL関数を使用した書き方です。
“CEIL”は引数を整数に切り上げる際に使用する関数です。
SQL> select ceil(1.5) from dual; |
| リスト10 CEIL関数の簡単な使用例 |
「1.5」が整数に切り上げられ、戻り値として「2」が得られました。通常だとあまり日の目を見ない関数ですが、以下のようなサンプル表から四半期別の集計値を求める際には大活躍します。
SQL> select ceil(month/3)||'Q' quarter,sum(sal) |
| リスト11 CEIL関数を使った四半期別の売り上げ集計値 |
以上のように関数を駆使することでSQL文はよりパワフルになります。シンプルなSQL文を心掛ければ、メンテナンスも容易になりますし、場合によってはパフォーマンスも良くなったりします。皆さんもイロイロ工夫してSQL道を極めてくださいね。(次回に続く)
| 筆者プロフィール |
| 株式会社インサイトテクノロジー Oracleに特化した製品開発、コンサルティングを手掛けるエンジニア集団。岸本拓也は国内外を問わず問題解決に向けフットワークよく飛び回るシステム全般に精通したシステムコンサルタント。 |
| 3/3 |
| Index | |
| 連載 SQLクリニック(5) 月別売り上げを四半期別に集計する関数ワザ |
|
| Page
1 ・月別の集計値を求める ・四半期別の集計値を求める(UNION ALL編) |
|
| Page 2 ・四半期別の集計値を求める(DECODE編) ・四半期別の集計値を求める(SIGN編) |
|
| Page 3 ・四半期別の集計値を求める(CASE式編) ・四半期別の集計値を求める(CEIL編) |
|
| SQLクリニック |
TechTargetジャパン
Database Expert フォーラム 新着記事
- IBMが歴史を変える!? 新カテゴリの製品を発表 (2012/5/25)
IBMは新たな製品カテゴリとなる「PureSystems」を発表。DB2 10とビッグデータの関係、PureSytemsの斬新さはどこかに迫ります - クラウド時代のデータ処理を支える分散KVSの可能性 (2012/5/23)
現在、高速データ処理の主流はインメモリ型データ処理だが、別の方法として分散KVSが注目を集めている。今回は分散KVSについて話を聞いた - 複数の表からデータを取り出して表示させる(2) (2012/4/23)
前回はSQLの基本的な結合構文について説明しました。今回は、より複雑な自己結合や外部結合について説明します - SQL Server、OOWにIQ、盛りだくさんの4月 (2012/4/20)
オラクルオープンワールドが3年ぶりに東京で開催されたほか、SQL Server 2012が提供開始されるなど、今月は話題が盛りだくさんです
|
|
@IT 新着記事
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
お勧め求人情報
転職/派遣情報を探す
**先週の人気講座ランキング**
〜 Android編 〜
ホワイトペーパー(TechTargetジャパン)
ソリューションFLASH
