SQLってこんなことできたんだ!って知らなかったからビックリしたので忘れないように書き留めておく。
SQLでif文のように分岐させて値を入れるやり方。
例えばphpで以下のようなif文の場合
if ( value1 < 10 ) { return value1; } else if ( value1 >= 10 ) { return 10; } else { return null; }
これを、MySQLで再現するには、case文を記述する
CASE WHEN value1 < 10 THEN value1 WHEN value1 >= 10 THEN 10 ELSE null END
例:value1の返り値が10より少ない場合は「value1」の値をそのまま、10以上の場合は「10」を代入する
SELECT (CASE WHEN value1 < 10 THEN value1 WHEN value >= 10 THEN 10 ELSE NULL END) as value FROM table;
こんな感じです。