よしたく blog

ITエンジニアとして自分が知らなかったことをまとめています

SQL

【SQL】RANK関数・DENSE_RANK関数の動きを確認する

SQL

SQL の分析関数である RANK と DENSE_RANK を使うと、順序が付けられた値のセットの中で何番目の値かを返すことができる。 今回は RANK と DENSE_RANK を使って、動きを確認していく。 RANK (Transact-SQL) - SQL Server | Microsoft Docs DENSE_RANK (Trans…

【SQL】FIRST_VALUE関数・LAST_VALUE関数の動きを確認する

SQL

SQL の分析関数である FIRST_VALUE と LAST_VALUE を使うと、順序が付けられた値のセットの中で最初の値と最後の値を返すことができる。 今回は FIRST_VALUE を使って、動きを確認していく。 FIRST_VALUE は最初の値、LAST_VALUE は最後の値という違いだけで…

【SQL】MAX・MIN関数に文字列を指定したときの動きを確認する

SQL

SQLのMAX・MIN関数には数値以外にも文字列を指定することが出来ます。 「最大値/ 最小値」と言われると数字しかイメージしてこなかったので、恥ずかしながらとても驚きました。 このあたりの動きをSQL Fiddleを使って確認していきます。 今回もSQL Fiddleを…

【SQL】LAG関数・LEAD関数の動きを確認する

SQL

SQL の分析関数である LAG と LEAD を使うと、現在の行の値と前後の行の値を比較できる。 今回は LAG を使って、動きを確認していく。 LAG は前の行、LEAD は後ろの行という違いだけで、構文は 同じになるので、LEAD を知りたい場合は適宜置換してもらえると…

SQLで勘定科目内訳書を作成する

SQL

SQL で家計簿のような科目別で集計した表を作成するテクニックを見て驚いたのでブログに残しておく。 環境を用意しないで SQL を試せる場所として SQL Fiddleが良かったので、使ってみてほしい。 画面構成 SQL Fiddleについて説明しておく。 アクセスすると…

分析関数について

SQL

業務で分析関数を使うことがあったが、今まで簡単な SQL しか触ったことがなかったので苦労した。 調べた中で整理を兼ねて、複数回に渡りまとめておく。 分析関数を一言でいうと、入力された値を集計し、各行に値を返すものとされている。 集計の動作を聞く…

date型の列にnullが入っているときの検索方法

SQL

自分は頭が硬いなぁと思ったのですが... SQLでdate型の列にnullが入っているものがあり、nullも含めて全件出したいなぁと思っていたんですが、 AND date BETWEEN '1900/01/01' AND '2999/12/31' これでは、nullが検索結果に出てきません。 そのnullも含めて…