How to Select Only Rows With Max Value On A Column in SQL?

In this post, we will learn how to SQL select only rows with max value on a column which we can perform using two different methods, Using subquery and self- join, Which we will discuss here one by one with examples of code( Commands).

Max value

Different Ways to Get Max Values

There are different ways to get the row with the max of the values on a column in SQL which are as followed here.

Using a Subquery

It is the most preferred and easiest way to get the complete row which has max of the value regarding any column of our choice where we can get the desired result as per our choice To get the row of max of the value here is a code to get. Where we have used the where clause using the select command to get the result.

SELECT *
FROM employees
WHERE salary = (SELECT MAX( salary) FROM employees);

This query selects all the columns from the “employees” table where the salary is equal to the maximum salary in the same table. The subquery ‘(SELECT MAX(salary) FROM employees)’ will be giving or returning the max  of value that is salary here from the table ’employee’ where we used it for filtering the result.

Using Self Join

We can also do the same thing using join and that too self join here we have given an example of the same to understand it better.

SELECT e1.*
FROM employees e1
LEFT JOIN employees e2 ON e1. salary < e2.salary
WHERE e2. salary IS NULL;

This query joins the “employees” table with itself based on the salary column. The left join selects all the rows from the left table (e1) and the matching rows from the right table (e2), where the salary of e1 is less than the salary of e2. The where clause filters the results to only return the rows where e2.salary is null, which means that e1 has the maximum salary.

When we see the result of both the codes or commands we will see the result as the same which simply says we can use either of the methods to get the row with the max value we want to get as per our choice.

 

To learn more about SQL select only rows with max value on a column: by Stack overflow.

To learn more about MySQL tutorials and solutions for the problems faced in solving the problems we encounter concepts related visit: MySQL Tutorials And Problems.

 

Leave a Comment

%d bloggers like this: