メニューを閉じる

テクノモバイルグループ

メニューを開く

2018.10.18

DB

SQLの便利な関数 〜ウィンドウ関数〜

こんにちは!HRです。

今回は、SQLのお勉強をしていたときにこれは便利だなと思ったSQL関数、ウィンドウ関数を紹介したいと思います。

ウィンドウ関数とは

ウィンドウ関数はテーブルの区間ごとに集計を行う関数です。SQL:2003 にて標準化され、現在Oracle,MySQL,PostgreSQLなど主要なRDBMSで使用できます。

また、ウィンドウ関数はGROUP BY関数と違い、行ごとに集計値を返します。

実例

実際にどういったものか下記の従業員給与テーブルを使って説明します。

合計を求める

まず、部署ごとの給与合計を求めましょう。下記のSQLを実行します。

 

sum行に給与合計が出力されました!

SQLの4行目がウィンドウ関数です。OVERはウィンドウ関数を使いますよという宣言です。PARTITION BYは指定した行を同じ値のグループを区間ごとに分割する指定を行います。

このように簡潔に区間ごとに集計を行うことができます。

ソート

PARTITION BY の他に区間ごとにソートできるORDER BYがあります。下記に実行例を出します。

salaryをもとにソートされ、行ごとに合計された値が出力されます。

平均、最大、最小

また、平均を求めるAVG()やMAX()、MIN()などを使って部署ごとの給与の最大値、最小値を求めることができます。

その他

その他の関数として行番号を出力するROW_NUMBER()関数、区分ごとに順位を出すRANK()関数など便利な関数があります。

ぜひ、ウィンドウ関数を活用して見てください!

参考


【テクノモバイルではエンジニア/デザイナーを積極採用中です!】

下記項目に1つでも当てはまる方は是非、詳細ページへ!
  • 自分でアプリを作ってみたい
  • ITで世の中にワクワクを生み出したい
  • 使いやすさ、デザインにこだわったWebサイトを開発したい

採用情報の詳細はこちら


Qangaroo(カンガルー)

  • 徹底した見やすさと優れた操作性で、テストの「見える化」を実現。
  • テストの進捗が見える。開発がスマートに進む。
  • クラウド型テスト管理ツール『Qangaroo(カンガルー)』
https://qangaroo.jp/

最近の記事

SNS共有

X CLOSE
X CLOSE
X CLOSE