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 triggers and its types?
What does desc stand for?
What is the benefit of foreign key?
how do you tune the slow running queries in oracle db , explain the methodology
Can you load data into multiple tables at once? : aql loader
How do I debug a stored procedure?
What can I use instead of union in sql?
what are properties of a transaction? : Sql dba
Which data type is a composite type?
What is sql select statement?
What is a variable in sql?
discuss about myisam index statistics collection. : Sql dba
What is a sql instance vs database?
What are inner outer left and right joins in sql?
What is difference between stored procedures and application procedures?