お知らせ
2016年9月29日
【SQL】[Oracle]列中の同じ内容を空白にする
今回の紹介するSQLは、『列中の同じ内容を空白にする』やり方になります。
これを実装するにはLAG関数(分析関数)を利用します。 LAG関数は、グループ単位に検索したレコードの
n行前のデータを取得する関数になります。
イメージとしては、以下の様な一覧があるとします。
上記のような一覧情報があった場合、以下のように出力結果を編集する方法になります。
実行のサンプルSQLは以下のようになります。
■実行SQL
SELECT CASE WHEN 部署 = LAG(部署) OVER (order by 部署) THEN '' ELSE 部署 END 部署 , ユーザCD , ユーザ名 FROM TEST_TABLE
サンプルのように数行であれば問題ないですが、100や200行といったデータを出力する場合には
見やすくなってよいかと思います。