Подтвердить что ты не робот

Как найти наибольшее значение в столбце в postgres sql?

Например:

name | weight
jon    100    
jane   120    
joe    130

Как мне вернуть имя человека с наибольшим весом?

4b9b3361

Ответ 1

Используйте это:

select name
from tbl
where weight = (select max(weight) from tbl)

Ответ 2

SELECT name FROM tbl ORDER BY weight DESC LIMIT 1

Гораздо более результативный, чем другой ответ, и результат только в одной строке.

Ответ 3

ORDER BY DESC помещает строки с нулевыми значениями вверху.

Чтобы избежать возврата результатов, соответствующих нулевым значениям:

SELECT name FROM tbl WHERE weight = (SELECT MAX(weight) FROM tbl);

Примечание. Этот запрос возвращает несколько результатов, если у нескольких людей есть вес, равный максимальному весу. Чтобы захватить только один, добавьте LIMIT 1 в конец запроса.


Подтверждения и дополнительная информация:

Почему значения NULL появляются при заказе DESC в запросе PostgreSQL?

MIN/MAX vs. ORDER BY и LIMIT

Функция Postgres MAX