需求描述:
在 chaos(id,v1,v2,v3) 表中获取每个 id 对应的 v1、v2、v3 字段的最大值,v1、v2、v3 同为数值类型。...v3,
IF(v1 > v2, v1, v2),
v3
) AS v_max
FROM
chaos
表达式 IF(v1 > v2, v1, v2) 是要求得在 v1、v2 之间较大的那个值...,再用求得的值和 v3 作比较。...v12 = IF(v1 > v2, v1, v2)
v_max = IF(v12 > v3, v12, v3)
如果 chaos 再增加两个数值列 v4、v5,要同时比较这五个字段的值,嵌套的 IF...那么,有没有比较简单且通用的实现呢?
有。先使用 UNION ALL 把每个字段的值合并在一起,再根据 id 分组求得最大值。