SELECT
id,
GREATEST(v1, v2, v3) AS v_max
FROM
chaos
是不是太简单了点?是的,确实如此。
如果没有GREATEST() 函数呢?...SELECT
id,
IF(
IF(v1 > v2, v1, v2) > v3,
IF(v1 > v2, v1, v2),
v3
) AS v_max
FROM...有。先使用 UNION ALL 把每个字段的值合并在一起,再根据 id 分组求得最大值。...WITH chaos_union AS
(SELECT
id,
v1 AS v
FROM
chaos
UNION ALL
SELECT
id,
v2 AS v
FROM...chaos
UNION ALL
SELECT
id,
v3 AS v
FROM
chaos)
SELECT
id,
MAX(v) AS v_max
FROM
chaos_union