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      |
+--------+
沒有留言:
張貼留言