mysql> SELECT * FROM mtable;
+----+----+
| f1 | f2 |
+----+----+
| 1 | 2 |
| 4 | 3 |
| 5 | 6 |
+----+----+
想要撈出 f1 跟 f2 之中,數值最大者:
mysql> SELECT f1 AS result FROM mtable WHERE f1 > f2;
+--------+
| result |
+--------+
| 4 |
+--------+
mysql> SELECT f2 AS result FROM mtable WHERE f1 < f2;
+--------+
| result |
+--------+
| 2 |
| 6 |
+--------+
這時候,可透過條件判斷,透過 CASE WHEN/ELSE 的用法,就可以不用分兩次撈了:
mysql> SELECT
CASE WHEN f1 > f2
THEN f1
ELSE f2
END AS result
FROM mtable;
+--------+
| result |
+--------+
| 2 |
| 4 |
| 6 |
+--------+
沒有留言:
張貼留言