Write a query to get 2nd maximum salary in an employee table ?
Answer Posted / basheer
ex:
Raj 200
kamal 300
hajka 500
Suresh 200
so 1st max salary is 500,2nd is 300,3rd is 200
we need 2nd maximum only(i.e 300)
Query is below
SELECT MIN(SALARY) FROM EMPLOYEE WHERE SALARY IN (SELECT
DISTINCT TOP 2 SALARY FROM EMPLOYEE ORDER BY SALARY DESC)
I've checked this query.
it will give 2nd maximum value.
if it is 3rd max salary then use TOP 3 instead of TOP 2
if u need detail explanation:
1)
Qry: SELECT DISTINCT TOP 2 SALARY FROM EMPLOYEE ORDER BY
SALARY DESC
Output:500
300
2)
SELECT MIN(SALARY) FROM EMPLOYEE WHERE SALARY IN (SELECT
DISTINCT TOP 2 SALARY FROM EMPLOYEE ORDER BY SALARY DESC)
ans: it gets minimum salary from subquery( from above 1st ans)
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
What are the two types of cursors in pl sql?
How do you know if a relationship is 2nf?
Which sql statement is used to return only different values?
What is sql injection owasp?
What is the usage of the distinct keyword?
What is trigger types of trigger?
What are the uses of merge?
which operator is used in query for pattern matching? : Sql dba
What does the sign mean in sql?
How many types of privileges are available in sql?
How to load data with sql*loader?
how can we submit a form without a submit button? : Sql dba
Is delete faster than truncate?
What are functions in sql?
what is the difference between mysql_fetch_array and mysql_fetch_object? : Sql dba