gpt4 book ai didi

sql - SQL 中三列中最大的列

转载 作者:行者123 更新时间:2023-12-02 06:54:12 24 4
gpt4 key购买 nike

我想比较多列,取不同列中的最大值

对于三列,我想出了下面的查询,效果很好

SELECT CASE
WHEN col1 >= col2
AND col1 >= col3 THEN col1
WHEN col2 >= col1
AND col2 >= col3 THEN col2
WHEN col3 >= col1
AND col3 >= col2 THEN col3
ELSE col1
END AS Max_number
FROM (VALUES (1,2,3),
(1,2,3),
(1,2,3)) tc (col1, col2, col3)

但是当我想要比较超过 3 列时,事情就变得复杂了。有没有更简单的方法来做到这一点

最佳答案

试试这个 Table Value Constructor技巧

SELECT (SELECT Max(col)
FROM (VALUES (col1),
(col2),
(col3)) tc(col)) AS Max_number
FROM (VALUES (1,2,3),
(1,2,3),
(1,2,3)) tc (col1, col2, col3)

此外,它还处理 NULL

关于sql - SQL 中三列中最大的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35104264/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com