How do I find the largest value in a column in postgres sql?
SELECT name FROM tbl ORDER BY weight DESC LIMIT 1
Much more performant than the other answer and results in one row only.
Use this:
select name
from tbl
where weight = (select max(weight) from tbl)
If you need to find multiple rows, e.g. date on which each person had maximum weight:
name | weight | day
don 110 1
don 120 20
don 110 30
joe 90 1
joe 80 15
joe 85 30
i.e. for "don" you want to get "don | 120 | 20"
and for joe you want "joe | 90 | 1"
, then you can write:
SELECT name, max(weight), (array_agg(day ORDER BY weight DESC))[1] FROM tbl GROUP BY name