mysql - Min 函数返回最大值,Max 函数返回最小值

标签 mysql sql phpmyadmin

我有一个表“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;

(这些值似乎是整数。)

关于mysql - Min 函数返回最大值,Max 函数返回最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50816765/

相关文章:

python - 如何在 SQLAlchemy 中访问 'Enum' 列数据类型?

javascript - JSON 日期到普通 JS 日期

mysql - 与其他列更新

mysql - 如何更改 phpMyAdmin 中的事件

mysql - 将列排序规则转换为表/数据库默认值

java - 将 XML 数据转储到 MySQL

sql - 如何使用SQL计算行之间的差异?

mysql - Django 不同 : COUNT vs len

php - PHP 4 中的新 DOMDocument()

MySQL 错误 - 字段 'id' 没有默认值