![]()
SQLクリニック(8) Page
3/3極めよう! 分析関数によるSQL高速化計画
株式会社インサイトテクノロジー
中島 益次郎
2005/9/27
前ページのSQL文は、EMP表すべて(集合)を1つのグループと見なして、分析を行いました。次は、EMP表の各JOB(職種)別に給料(SAL)が高い順にランキングしてみましょう。
SQL> select ename, job, sal |
リスト3 JOB(職種)ごとにグループに分け給料(SAL)を高い順にランク付け |
このSQL文は、EMP表すべて(集合)をJOBごとのグループに分けて、分析を行っています。SQL文を見れば分かるように、RANK関数でPARTITION BY句を記述することで、集合をどのようなグループに分けて分析を行うかを指定できます。RANK関数で使用しているORDER BY句は、分けられたグループをどのカラムで昇順・降順にランク付けを行うかを指定します。分析関数がどのように処理されるのかを理解しておけば、分析関数の構文も覚えやすいですね。
分析関数を使用しない方法で、SQL文を記述しようと思うと、大変です。JOBごとにUNION ALLでSALのORDER BYを副問い合わせで記述することになります。RANK関数だけからでも、分析関数で問い合わせ処理の向上と開発作業の向上のメリットがあることを理解してもらえたと思います。
◇
今回は、「分析関数とは」から始まり、実際に分析関数の1つであるRANK関数(DENSE_RANK関数)の説明を行いました。次回は、さらにいろいろな分析関数について解説する予定です。(次回に続く)
| 筆者プロフィール |
| 株式会社インサイトテクノロジー Oracleに特化した製品開発、コンサルティングを手掛けるエンジニア集団。中島 益次郎はパフォーマンスで悩めるユーザーのためにPerformance Insightの開発に全力を注ぎ込む熱き魂の開発者。 |
| 3/3 |
| Index | |
| 連載 SQLクリニック(8) 極めよう! 分析関数によるSQL高速化計画 |
|
| Page
1 ・分析関数の基本を理解しよう |
|
| Page 2 ・分析関数を使ってみる |
|
| Page 3 ・分析関数でグループごとに計算する |
|
| 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
