条件式の紹介
Prestoの条件式についてご紹介します。

条件式は関数ではないですが、データ加工時に多用すると思いますので自身の備忘録ついでご紹介をさせていただきます。
条件式一覧
条件式で型変換関数(cast)が出てくるため、過去に書いたPrestoの型変換関数の記事リンクを掲載しておきます。
条件式概要
No | 関数 | 説明 |
1 | case | 一般的なSQLの条件式に同様にカラムの値が条件と 合致した場合、任意の値を返却します。 Query例 |
2 | if | case同様に条件式に従い、カラムの値が条件と 合致した場合、任意の値を返却します。 Query例 |
3 | coalesce | 第1引数の値がnullだった場合に、第2引数に 入れたカラム、もしくは値で返却します。 また引数は複数渡すことが可能で第1引数,第2引数と nullか判定し、全てnullだった場合、一番最後 (一番右側に渡した引数)の値を返却します。 Query例 |
4 | nullif | 第1引数と第2引数が等しい場合、nullを 返却します。主にはゼロ除算回避のために 利用されます。 Query例 |
5 | try | tryを利用することで下記を回避することができます。 ・ゼロ除算 ・無効なcast、または関数の引数など ・数値範囲外 Query例 |
1.case Query例
caseの利用Queryを下記に記載します。
2.if Query例
ifを利用した場合の条件式を記載いたします。※caseで記述した場合のQueryも参考までに記載します。
3.coalesce Query例
coalesceを利用した場合の条件式を記載します。
4.nullif Query例
nullifを利用した場合の条件式を記載します。※caseで記述した場合のQueryも参考までに記載します。
5.try Query例
tryを利用した場合の条件式を記載します。
備考
他のRDBと特に変わった挙動は無いと思いますのでSQLになれている方からすると釈迦に説法かもしれません。
もし至らない箇所等あればTwitterにDMいただけますと大変うれしいです。
参照元
https://prestodb.io/docs/0.172/functions/aggregate.html