gpt4 book ai didi

mysql - 带条件的 SQL 最大值

转载 作者:行者123 更新时间:2023-11-29 14:52:45 28 4
gpt4 key购买 nike

以 Mysql 查询(sql 脚本)格式编写以下条件的任何可能性。

val =100    
max_val= select max(id) from tbl;
dif =max_val - val
if ( dif > 20)
max_val=val+20
else if ( dif < 20)
max_val=select max(id) from tbl;

最佳答案

简短回答:

SELECT GREATEST(120,max(id)) from tbl;

长答案:

dif == 20时您希望发生什么?您使用了><但从来没有==

让我们检查一下您的代码:

val =100    
max_val= select max(id) from tbl;
dif =max_val - val

第一部分非常明显。

if ( dif > 20)    

这实际上意味着,if max_val > 120

  max_val=val+20    

这归结为max_val = 120

else if ( dif < 20)    
max_val=select max(id) from tbl;

这个else if甚至不需要在那里,因为 max_val已经是 max(id)前。它什么也不做。

所以我们可以将你的伪代码重写为

max_val= select max(id) from tbl;    
if ( max_val > 120)
max_val=120

所以max_val不能大于120,所以我们可以选择GREATEST(120,max_val) ...或

SELECT GREATEST(120,max(id)) from tbl;

关于mysql - 带条件的 SQL 最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5401943/

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