gpt4 book ai didi

mysql - 如何选择值(value)最高的标题?

转载 作者:行者123 更新时间:2023-11-30 23:54:58 24 4
gpt4 key购买 nike

那么在这样一个简单的表格中,我该如何选择具有最高值(value)的标题呢?

|_title_||_value_|
|_title1_||_50652_|
|_title2_||_57465_|
|_title3_||_68565_|
|_title4_||_14645_|

在这种情况下,title3 具有最高值,所以我想用 SQL 代码选择 title3,但我不知道如何

我尝试过的:

SELECT title FROM table HAVING MAX(value);

我认为这是我可以做到的,但它不起作用。我对 SQL 完全陌生。

最佳答案

如果要允许多个标题共享相同的最大值,请使用子查询:

select title from table where value = (select max(value) from table);

编辑:关于您自己的查询:

通过在没有 GROUP BY 子句的情况下请求 MAX(value),您可以将所有行聚合为一个行。但随后您选择了 title。哪个?您没有告诉 DBMS,因此查询实际上是无效的 SQL。然而,MySQL 忽略了这一点,并默默地将 ANY_VALUE 应用于 title,这不是您想要的。你想要一个特别的。

您的查询中还有另一个缺陷:在 HAVING MAX(value) 中您没有比较(例如在 HAVING MAX(value) > 1000 中)。但是 DBMS 需要一个带有 bool 结果(真或假或空)的表达式。理想情况下,您的表达式应该引发错误,但 MySQL 只是将值转换为 bool 值,false = 0,true <> 0。68565 不为零,因此条件为真。

因此,您最终会得到一行任意选择的标题。

关于mysql - 如何选择值(value)最高的标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54364306/

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