GREATESTとLEAST

クエリでそのカラムの最小値を取るには

SELECT MIN(COLUMN) FROM TABLE

とする。
では、2値あるいは複数値の最小を取るにはどうしたらいいんだろう??


LEASTという関数が存在する。
これは、引数に指定された複数の値から最小の値を返してくれる。

SELECT LEAST(10, 20, 1)

なら、1が返る。
ちなみに、最大の値を取りたいなら
GREATEST
関数を使う事になる。
これで、二つのカラムのうち大きい方または小さい方を取る事が可能。
これって標準SQL関数?
MySQLにもPostgreSQLにもOracleにもあるっぽい。
と思ったら、PosgreSQLの解説にこんな一文が

GREATESTおよびLEASTはSQL標準に載っていませんが、共通した拡張です。

なるほどね。

コメントを残す

メールアドレスが公開されることはありません。