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

yvt65v4c  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(361)

我有一个表“d”,列名为“avg”,值为“100”和“83”。
当我尝试的时候

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

我觉得很奇怪。我从来没有想过,我会张贴这样的东西,所以。这可能是一件小事,但它踢出我的一天来解决它。
我正在使用mysql和phpmyadmin

b91juud3

b91juud31#

更改 datatype 你的 column avg 如果你使用 varchar 它的输出错误 number function 使用下面的查询更改 column ```
ALTER TABLE abcd CHANGE avgavg INT(11) NOT NULL;

或者试试这个

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

acruukt9

acruukt92#

听起来像一根弦。一个简单的解决办法是把它变成一个数字:

select max(avg + 0)

它使用“静默转换”,因此如果值不是数字,则不会引发错误。
更好的解决方案可能是将其转换为数据中的实际数字:

alter table t modify column avg int;

(这些值似乎是整数。)

相关问题