gpt4 book ai didi

sql - 如何在不使用 MAX 函数的情况下找到列中的最大值?

转载 作者:行者123 更新时间:2023-12-03 18:08:07 24 4
gpt4 key购买 nike

一个 friend 问我这个问题。您将获得一张只有一个字段的表,该字段是一个整数。你能在不使用 MAX 函数的情况下获得该领域的最高值吗?

我认为我们可以更改每列的符号并使用 MIN 函数找到最小值。那是对的吗?

最佳答案

是的。你可以这样做:

select MIN(-1 * col)*-1 as col from tableName;

或者,您可以使用 LIMIT子句,如果您的数据库支持它。

另一种选择是使用表的自联接。考虑查询:
select A.col, B.col
from tableName as A, tableName as B
where A.col < B.col

它找到所有可能的对,并只保留第一个字段小于第二个字段的那些对。因此,您的最大值不会出现在第一个字段中,因为它不小于任何其他值。

您可以使用上述查询作为子查询来仅选择最大值为:
select col from tableName where col not in
( select A.col from tableNAme as A, tableName as B
where A.col < B.col)

如果表有多个最大值,则上述查询将全部返回。要解决此问题,您可以使用 distinct在外部选择中。

关于sql - 如何在不使用 MAX 函数的情况下找到列中的最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5373885/

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