gpt4 book ai didi

mysql - 我想从声明为 varchar 类型的 S_ID 列中获取最大值

转载 作者:行者123 更新时间:2023-11-29 12:42:07 27 4
gpt4 key购买 nike

我的 S_ID 值为

S_1
S_2
S_3,...., S_11.

我使用SELECT MAX(S_ID) FROM stock_detail来获取最大值。

它一直工作到 S_9,但当它达到 S_11 时:该查询只给我 S_9 作为最大值。我怎样才能得到S_11作为最大值?请帮助我,我只是编程的初学者。

最佳答案

您可以使用此构造获得最大值:

select s_id
from stock_detail
order by length(s_id) desc, s_id desc
limit 1;

这会将较长的值放在前面。

如果您想使用max(),那么您需要解构该数字。像这样的东西:

select concat('S_', max(replace(s_id, 'S_', '') + 0))
from stock_detail;

这允许您获得数字最大值,而不是字符最大值,这是问题的根源。

关于mysql - 我想从声明为 varchar 类型的 S_ID 列中获取最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25961419/

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