How do i find the largest value in a column in postgres sql?

postgresql select row with max value
postgresql select max value group
postgres max of two values
postgresql max(count)
postgres max of two columns
get second max value in postgresql
postgres inner join max
postgresql max id

For example:

name | weight
jon    100    
jane   120    
joe    130

How do I only return the name of the person with the largest weight?

Use this:

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

How do i find the largest value in a column in postgres sql?, Use this: select name from tbl where weight = (select max(weight) from tbl). INSERT INTO ranks VALUES ( 1, 6, 3, 5 ), ( 2, 2, 8, 5 ), ( 3, 5, 9, 8 ); How do you get the largest rank per user as shown in the screenshot below: To achieve this, you use GREATEST function instead of MAX function. The GREATEST function returns the greatest value from a list of values. SELECT user_id, GREATEST (rank_1, rank_2, rank_3) AS largest_rank FROM ranks;


Much more performant than the other answer and results in one row only.

PostgreSQL MAX function, The PostgreSQL MAX function returns the maximum value, specified by function two columns; PostgreSQL MAX WHERE clause; PostgreSQL  1. select val1, val2, val3, greatest (val1, val2, val3) as greatest from TestValues; The result of running this query on SQL Developer is shown bellow, in figure 2. As we can see, the column called “greatest” has the greatest value across the original table columns we specified.

ORDER BY DESC puts rows with null values at the top.

To avoid returning results corresponding to null values:

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

Note: This query will return multiple results if multiple people have a weight equal to the maximum weight. To grab just one, add LIMIT 1 to the end of the query.

Acknowledgements and more information:

Why do NULL values come first when ordering DESC in a PostgreSQL query?


Postgres MAX Function

Re: How to find the max value in a select?, order by <other_cols>;. Basically you use an aggregate operator max() or min(). If you are selecting other columns at the same time, then you need to group by To get the data with the largest/smallest values you will want to include an ORDER BY. In MySQL you will use LIMIT. Another way to do this in SQL Server is using row_number (): select id from ( select id, row_number() over(order by id desc) rn from yourtable ) x where rn <= 5. See SQL Fiddle With Demo.

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 (array_agg(name ORDER BY weight DESC))[1], max(weight), (array_agg(day ORDER BY weight DESC))[1] FROM tbl

Re: For each key, find row with highest value of other , To: <raju(at)linux-delhi(dot)org>, <pgsql-sql(at)postgresql(dot)org>. Subject: Re: For each key, find row with highest value of other field. You want the inline sql case: set my_column = case when my_column - 10 > 0 then my_column - 10 else 0 end max() is an aggregate function and gets the maximum of a row of a result set. Edit: oops, didn't know about greatest and least in postgres. Use that instead.

Documentation: 8.2: Aggregate Functions, but this will not work since the aggregate max cannot be used in the WHERE us the same results for only the cities that have all temp_lo values below 40. Article for: PostgreSQL SQL Server Azure SQL Database Oracle database MySQL MariaDB IBM Db2 Amazon Redshift Snowflake Teradata Vertica Query below finds all tables that have 'last_name' column. See also tables that don't have a column with specific name .

Taking the max/min of two columns in PostgreSQL, display values from one of two columns, whichever was the largest. My first attempt was: SELECT id, MAX(column1, column2) FROM table1;. The SQL MIN() and MAX() Functions The MIN() function returns the smallest value of the selected column. The MAX() function returns the largest value of the selected column.

PostgreSQL - MAX Function, PostgreSQL - MAX Function - PostgreSQL MAX function is used to find out the record with maximum value among a record set. Depends on what SQL implementation you are using. Both MySQL and SQLite, for example, have ways to get last insert id. In fact, if you’re using PHP, there’s even a nifty function for exactly that mysql_insert_id().

  • wow, how silly of me not to think of using a nested query! thanks!
  • Depending on the number of rows with values of "weight" equal to the maximum value, this may return more than one name. Just FYI.
  • How do you make it return only one of the rows with the max value (doesn't matter how it chooses)?
  • select top 1 name from tbl where weight = (select max(weight) from tbl)
  • Good answer. I also want to note that if weight have an index, sort will performed on index and will be faster.
  • Nice answer, however it won't return two results if two people have the same weight.
  • LIMIT 1 requires a full table scan. This is not performant with lots of rows. Try running EXPLAIN on your queries.
  • If there is any NULL in weight, it returns NULL
  • this is most elegant solution !!