gpt4 book ai didi

mysql - Mysql 的 Max 函数不返回列的最大值。按限制订购也不起作用

转载 作者:行者123 更新时间:2023-12-01 00:10:20 27 4
gpt4 key购买 nike

我有一个表结构如下:

                     HISTORY_CARD
+----+-----------+---------+--------------+
| idhistory_card |equipment_id | sr_num |
+----+-----------+---------+--------------+
| 1 | DU 201 | 9 |
| 2 | DU 201 | 2 |
| 3 | DU 201 | 12 |
| 4 | EXT 99 | 10 |
| 5 | EXT 99 | 13 |
| 6 | EXT 99 | 7 |
| 7 | EXT 99 | 9 |
+----+-----------+---------+--------------+

我想返回特定 euipment_id 的列 (sr_num) 的最大值。例如。对于 equipment_id = DU 201 ,最大值为 12 但对于下面提到的查询,它返回错误的值,即 9与 equipment_id = EXT 99 类似,最大值为 13,但对于下面提到的查询,它返回错误值,即 9.我在互联网上和手册上搜索了很多,但直到现在都没有用。请帮忙!

查询如下

SELECT *
FROM new_schema.history_card
WHERE equipment_id = 'DU 201'
ORDER BY sr_num DESC LIMIT 1

尝试了 2 个查询

SELECT MAX(sr_num)
FROM new_schema.history_card
WHERE equipment_id='DU 201';

最佳答案

对字符串值的 MAX() 操作将根据字符串比较规则运行,即 "9"> "10"

答案是改变你的表定义:

ALTER TABLE history_card MODIFY sr_num INT;

然后,再次运行查询。

关于mysql - Mysql 的 Max 函数不返回列的最大值。按限制订购也不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23192625/

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