find the employee with the second-highest salary using sql code example
Example 1: sql select second max
Both options you find max as a subset and then exclude from main select
sql> SELECT MAX( col ) FROM table
WHERE col < ( SELECT MAX( col ) FROM table);
sql> SELECT MAX(col) FROM table
WHERE col NOT IN (SELECT MAX(col) FROM table);
Example 2: how to get second highest salary in each department in sql
SELECT E.Employers_name, E.dep_number, E.salary
FROM Employers E
WHERE 1 = (SELECT COUNT(DISTINCT salary)
FROM Employers B
WHERE B.salary > E.salary AND E.dep_number = B.dep_number)
group by E.dep_number
Example 3: sql find second highest salary employee
select sal, ename
from emp
where sal =
(
select max(sal) from emp where sal <
(select max(sal) from emp)
)
select *
from
(
select ename, sal, dense_rank() over(order by sal desc) rank
from emp
)
where rank =2;
Example 4: how to get employee having maximum experience in mysql
select max(salary), dept_id from employee where salary not in(select max(salary) from employee) group by dept_id;