gpt4 book ai didi

mysql - 使用 GREATEST() 方法选择第二大

转载 作者:可可西里 更新时间:2023-11-01 07:57:50 27 4
gpt4 key购买 nike

有没有办法从多个列中选择最大和第二大的数字?

例子:

Col1 = 0;
Col2 = 4;
Col3 = 6;
Col4 = 3;

我最大的是 6,其次是 4。

我正在尝试实现这样的东西:

SELECT GREATEST(Col1, Col2, Col3, Col4) AS High, 
GREATEST(Col1, Col2, Col3, Col4) AS Low
WHERE Low < High FROM tbl;

最佳答案

对于 4 列,您可以这样做:

select
greatest(col1, col2, col3, col4) high,
greatest(col1, col2, col3) +
greatest(col1, col2, col4) +
greatest(col1, col3, col4) +
greatest(col2, col3, col4) -
3 * greatest(col1, col2, col3, col4) low
from tablename

您将 3 列的所有组合中的最大值相加,然后减去所有乘以 3 的最大值,因为在 4 种组合中,3 将是所有组合中最大值的结果。
查看demo .
结果:

| high | low |
| ---- | --- |
| 6 | 4 |

关于mysql - 使用 GREATEST() 方法选择第二大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57172585/

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