求 MySQL 多列中的最大的值
阿新 • • 發佈:2021-02-18
目錄
需求
求 MySQL 多列中的最大的值。
具體需求:求 test 表中列 a1、a2、a3、a4中的最大列的值。
實現
涉及知識點:GREATEST、LEAST 兩個函式(greatest 最大值、least 最小值)
SELECT
GREATEST(c1, c2, c3, c4) AS max,
LEAST(c1, c2, c3, c4) AS min
FROM
(
SELECT
CASE WHEN a1 IS NULL THEN 0 ELSE a1 END c1,
CASE WHEN a2 IS NULL THEN 0 ELSE a2 END c2,
CASE WHEN a3 IS NULL THEN 0 ELSE a3 END c3,
CASE WHEN a4 IS NULL THEN 0 ELSE a4 END c4
FROM
test
# WHERE 條件
) t