If you need the second highest salary only
then following will also work,
select Max(Salary) from TableName
where Salary not in(
Select Max(Salary) from TableName)
hi,
my id is ravi106109@gmail.com
select sal from emp a
where 1=(select count(b.sal) from emp b
where a.sal<b.sal) order by sal desc;
and also dileep is write
I think Daleep answer is not so precise, if you want 3rd or
ny specified answer, this only can only be seems right for
2nd highest salary, else, its not optimise query.I found
Preeti's query more optimistic and accurate.
SELECT Min(Sal) FROM (SELECT TOP 2 Sal FROM emp ORDER BY
Sal desc) as Temp
or
SELECT Min(Sal) FROM emp WHERE Sal IN(SELECT TOP 2 Sal FROM
emp ORDER BY Sal DESC)
we have to use distinct key word there is a possibility
that two person having same salary.
select top 1 sry from (select distinct top 2 sry from emp
order by sry desc)t1 order by sry asc
This query is generalised query if u replace 2 by 100 ,
then you will get 100th max salary
select top 1 salary from employee where salary in( select
top 2 salary from employee order by salary desc) order by
salary asc
In SQL Server 2000 Query:
-------------------------
select max(salary) from Employee where salary not in(select
max(salary) from employee)
This Query only selects the 2'nd Higehest Salary in that
table. So, you will try...
Table student containing 2 columns,Join date,Employee name.
Under join date 4 rows r ter =1-jan-2008,2-feb-2008,3-mar-
2008,4-feb-2008.Under Employee name 4 difeerent names
jaison,robin,binoy,rahul
Result set is,
Table containing 4-column name=jan,feb,mar,april,,beneath
these months count is given as 1,2,1,0 means these counts
representing number of emplooyees joined in a month(january
1employee,february 2 employee,march 1 employee,april 0
employee)
Can you give me the required sql query