Как найти наибольшее значение в столбце в postgres sql?
Например:
name | weight
jon 100
jane 120
joe 130
Как мне вернуть имя человека с наибольшим весом?
Ответ 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 в конец запроса.