Функция Min, возвращающая максимальное значение, и функция Max, возвращающая минимальное значение - PullRequest
0 голосов
/ 12 июня 2018

У меня есть таблица "abcd" с именем столбца как "avg" и значениями "100" и "83".

Когда я пытаюсь

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

, мне это кажется довольно странным,Я никогда не думал, что я буду публиковать что-то подобное в SO.Это может показаться незначительной вещью, но это решает мой день, чтобы решить ее.

Я использую MySQL и phpMyAdmin

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

измените datatype вашего column avg

, если вы используете 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`
0 голосов
/ 12 июня 2018

Звучит как строка.Простое решение состоит в том, чтобы превратить его в число:

select max(avg + 0)

При этом используется «тихое преобразование», поэтому оно не вызовет ошибку, если значение не является числовым.

Лучшее решениеможет быть, чтобы превратить его в фактическое число в данных:

alter table t modify column avg int;

(значения представляются целыми числами.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...