繁体   English   中英

最小值函数返回最大值,最大值函数返回最小值

[英]Min function returning max valu and Max function returning min value

我有一个表“ abcd”,列名为“ avg”,值分别为“ 100”和“ 83”。

当我尝试

select max(avg) from abcd  -- Returns 83
select min(avg) from abcd  -- Returns 100

对我来说似乎很奇怪。 我从未想过我会在SO中发布这样的内容。 看起来可能是一件小事,但是这让我很忙。

我正在使用MySQL和phpMyAdmin

听起来像一个字符串。 一个简单的解决方案是将其转换为数字:

select max(avg + 0)

这将使用“无提示转换”,因此,如果该值不是数字,则不会引发错误。

更好的解决方案可能是将其转换为数据中的实际数字:

alter table t modify column avg int;

(值似乎是整数。)

更改column avgdatatype

如果您使用varchar则会在number function输出错误

使用下面的查询更改column

ALTER TABLE `abcd` CHANGE `avg` `avg` INT(11) NOT NULL;

或尝试这个

SELECT max( cast(avg as unsigned) ) as avg FROM `abcd`
SELECT min( cast(avg as unsigned) ) as avg FROM `abcd`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM